Saya tahu pip
adalah manajer paket untuk paket python. Namun, saya melihat instalasi di situs web IPython menggunakan conda
untuk menginstal IPython.
Bisakah saya menggunakan pip
untuk menginstal IPython? Mengapa saya harus menggunakan conda
sebagai manajer paket python lain ketika saya sudah punya pip
?
Apa perbedaan antara pip
dan conda
?
conda
/enpgk
ditargetkan padanew users who want to get up and running with minimal effort
: kanopi / anaconda adalah lingkungan mandiri, yang tidak mengganggu sistem python (seperti venv tetapi lebih kuat). BTW IPyhton, bukan iPython (huruf besar I)Jawaban:
Mengutip dari blog Conda :
Jadi Conda adalah alat pengemas dan pemasang yang bertujuan untuk melakukan lebih dari apa yang
pip
dilakukannya; menangani dependensi pustaka di luar paket Python serta paket Python itu sendiri. Conda juga menciptakan lingkungan virtual, sepertivirtualenv
halnya.Dengan demikian, Conda harus dibandingkan dengan Buildout mungkin, alat lain yang memungkinkan Anda menangani tugas instalasi Python dan non-Python.
Karena Conda memperkenalkan format kemasan baru, Anda tidak dapat menggunakan
pip
dan Conda secara bergantian;pip
tidak dapat menginstal format paket Conda. Anda dapat menggunakan dua alat secara berdampingan (dengan menginstalpip
denganconda install pip
) tetapi keduanya tidak saling beroperasi.Sejak menulis jawaban ini, Anaconda telah menerbitkan halaman baru tentang Understanding Conda dan Pip , yang menggemakan ini juga:
dan selanjutnya
sumber
pip install
.Berikut ini adalah ikhtisar singkat:
pip
conda
conda build
yang membangun paket dari sumber, tetapiconda install
itu sendiri menginstal hal-hal dari paket Conda yang sudah dibangun.Dalam kedua kasus:
Dua poin pertama Conda benar-benar membuatnya lebih menguntungkan daripada banyak paket. Karena pip menginstal dari sumber, akan sangat menyakitkan untuk menginstal hal-hal dengan itu jika Anda tidak dapat mengkompilasi kode sumber (ini terutama benar pada Windows, tetapi bahkan bisa benar di Linux jika paket memiliki beberapa C atau FORTRAN perpustakaan yang sulit dependensi). Conda menginstal dari biner, yang berarti bahwa seseorang (misalnya, Continuum) telah melakukan kerja keras mengkompilasi paket, sehingga instalasi mudah.
Ada juga beberapa perbedaan jika Anda tertarik untuk membangun paket Anda sendiri. Sebagai contoh, pip dibangun di atas setuptools, sedangkan Conda menggunakan formatnya sendiri, yang memiliki beberapa kelebihan (seperti statis, dan sekali lagi, Python agnostic).
sumber
pip install --use-wheel <package>
akan menginstal paket bawaan. Lihat di sini: wheel.readthedocs.org/en/latest . Namun pengalaman pribadi saya dengan roda adalah bahwa begitu sedikit paket roda ilmiah yang tersedia yang murni bersifat akademis. Dan tentu saja instalasi pip sebagian besar tidak berfungsi baik di windows jika lingkungan build Anda tidak diatur dengan benar. Jadi saat ini, conda ftw.Jawaban lain memberikan deskripsi yang adil tentang perinciannya, tetapi saya ingin menyoroti beberapa poin tingkat tinggi.
pip adalah manajer paket yang memfasilitasi instalasi, peningkatan, dan penghapusan paket python . Ini juga berfungsi dengan lingkungan python virtual .
conda adalah manajer paket untuk setiap perangkat lunak (instalasi, peningkatan dan penghapusan instalasi). Ini juga berfungsi dengan lingkungan sistem virtual .
Salah satu tujuan dengan desain conda adalah untuk memfasilitasi manajemen paket untuk seluruh tumpukan perangkat lunak yang diperlukan oleh pengguna, di mana satu atau lebih versi python mungkin hanya sebagian kecil. Ini termasuk perpustakaan tingkat rendah, seperti aljabar linier, kompiler, seperti mingw pada Windows, editor, alat kontrol versi seperti Hg dan Git, atau apa pun yang memerlukan distribusi dan manajemen .
Untuk manajemen versi, pip memungkinkan Anda untuk beralih di antara dan mengelola beberapa lingkungan python .
Conda memungkinkan Anda untuk beralih di antara dan mengelola beberapa lingkungan tujuan umum di mana banyak hal lain dapat bervariasi dalam jumlah versi, seperti C-libraries, atau compiler, atau test-suites, atau mesin database dan sebagainya.
Conda bukan Windows-sentris, tetapi pada Windows itu sejauh ini merupakan solusi unggul yang tersedia saat paket ilmiah kompleks yang membutuhkan kompilasi harus diinstal dan dikelola.
Saya ingin menangis ketika saya memikirkan berapa banyak waktu saya yang hilang ketika mencoba mengkompilasi banyak paket ini melalui pip pada Windows, atau debug gagal
pip install
sesi ketika kompilasi diperlukan.Sebagai titik akhir, Continuum Analytics juga meng-host (gratis) binstar.org (sekarang disebut anaconda.org ) untuk memungkinkan pengembang paket reguler untuk membuat tumpukan perangkat lunak kustom (buatan!) Mereka sendiri yang bisa didapatkan oleh pengguna paket
conda install
.sumber
Keras
kode saya, menginstal anaconda di mac saya dan Kerasconda
diinstal danpip
diinstal. Jadi, ketika menjalankan kode saya di terminal, bagaimana saya tahu manakeras
yang sedang diimpor (pip
satu atauconda
satu)?Bukan untuk membingungkan Anda lebih lanjut, tetapi Anda juga dapat menggunakan pip dalam lingkungan conda Anda, yang memvalidasi komentar manajer umum vs. python khusus di atas.
Anda juga dapat menambahkan pip ke paket default lingkungan apa pun sehingga hadir setiap kali sehingga Anda tidak harus mengikuti cuplikan di atas.
sumber
fully supported
?fully recommended
menyiratkan, lebih baik menggunakan pip daripada conda, dalam lingkungan conda, untuk pikiran saya, dan saya tidak yakin itu yang Anda / mereka maksud?Kutipan dari artikel Conda for Data Science ke situs web Continuum:
sumber
Mengutip dari Conda: Mitos dan Kesalahpahaman (deskripsi komprehensif):
...
Mitos # 3: Conda dan pip adalah pesaing langsung
Kenyataan: Conda dan pip melayani tujuan yang berbeda, dan hanya secara langsung bersaing dalam sejumlah kecil tugas: yaitu menginstal paket Python di lingkungan yang terisolasi.
Pip, yang merupakan singkatan dari P ip I nstalls P ackages, adalah manajer paket resmi Python, dan paling umum digunakan untuk menginstal paket yang dipublikasikan pada Python Package Index (PyPI). Baik pip dan PyPI diatur dan didukung oleh Python Packaging Authority (PyPA).
Singkatnya, pip adalah manajer tujuan umum untuk paket Python; conda adalah manajer lingkungan lintas platform-bahasa-agnostik. Untuk pengguna, perbedaan yang paling menonjol mungkin adalah ini: pip menginstal paket python dalam lingkungan apa pun; conda menginstal paket apa pun dalam lingkungan conda. Jika semua yang Anda lakukan adalah menginstal paket Python dalam lingkungan yang terisolasi, conda dan pip + virtualenv sebagian besar dapat dipertukarkan, modulo beberapa perbedaan dalam penanganan ketergantungan dan ketersediaan paket. Dengan lingkungan yang terisolasi maksud saya conda-env atau virtualenv, di mana Anda dapat menginstal paket tanpa memodifikasi instalasi sistem Python Anda.
Bahkan mengesampingkan Mitos # 2, jika kita fokus hanya pada pemasangan paket Python, conda dan pip melayani khalayak yang berbeda dan tujuan yang berbeda. Jika Anda ingin, katakanlah, mengelola paket Python dalam sistem yang ada, instalasi Python, conda tidak dapat membantu Anda: menurut desain, itu hanya dapat menginstal paket dalam lingkungan conda. Jika Anda ingin, katakanlah, bekerja dengan banyak paket Python yang bergantung pada dependensi eksternal (NumPy, SciPy, dan Matplotlib adalah contoh umum), sementara melacak dependensi tersebut dengan cara yang bermakna, pip tidak dapat membantu Anda: dengan desain, itu mengelola paket Python dan hanya paket Python.
Conda dan pip bukan pesaing, melainkan alat yang berfokus pada kelompok pengguna dan pola penggunaan yang berbeda.
sumber
Untuk pengguna WINDOWS
Situasi alat pengemasan "standar" membaik baru-baru ini:
pada pypi sendiri, sekarang ada 48% paket roda pada September. 11th 2015 (naik dari 38% di Mei 2015, 24% di September 2014),
format roda sekarang didukung di luar kotak per python 2.7.7 terbaru,
Situasi alat kemasan "standar" + "tweak" juga meningkat:
Anda dapat menemukan hampir semua paket ilmiah pada format roda di http://www.lfd.uci.edu/~gohlke/pythonlibs ,
proyek mingwpy dapat membawa paket 'kompilasi' suatu hari kepada pengguna windows, memungkinkan untuk menginstal semuanya dari sumber saat dibutuhkan.
Kemasan "Conda" tetap lebih baik untuk pasar yang dilayaninya, dan menyoroti area di mana "standar" harus ditingkatkan.
(juga, spesifikasi ketergantungan multi-upaya, dalam sistem roda standar dan sistem konda, atau buildout, tidak terlalu pythonic, alangkah baiknya jika semua teknik 'inti' pengemasan ini dapat menyatu, melalui semacam PEP)
sumber
pip
adalah manajer paket.conda
adalah manajer paket dan manajer lingkungan.Detail:
Referensi
sumber
Tentu, keduanya (pendekatan pertama di halaman)
dan (pendekatan ketiga, kedua adalah
conda
)secara resmi direkomendasikan cara untuk menginstal .
Seperti yang dikatakan di sini :
Conda melampaui pip in ( YMMV )
Itu dijawab secara luas oleh orang lain.
sumber
pip
hanya untuk Pythonconda
hanya untuk Anaconda + paket ilmiah lainnya seperti dependensi R, dll. TIDAK semua orang membutuhkan Anaconda yang sudah dilengkapi dengan Python. Anaconda kebanyakan untuk mereka yang melakukan Machine learning / deep learning dll. Casual Python dev tidak akan menjalankan Anaconda di laptop-nya.sumber
Saya mungkin telah menemukan satu perbedaan lebih lanjut yang bersifat minor. Saya memiliki lingkungan python saya di bawah
/usr
daripada/home
atau apa pun. Untuk menginstalnya, saya harus menggunakansudo install pip
. Bagi saya, efek samping yang tidak diinginkan darisudo install pip
sedikit berbeda dari apa yang secara luas dilaporkan di tempat lain: setelah melakukannya, saya harus menjalankanpython
dengansudo
untuk mengimpor salah satusudo
paket -installed. Saya menyerah dan akhirnya menemukan bahwa saya dapat menggunakansudo conda
untuk menginstal paket ke lingkungan di/usr
mana kemudian diimpor secara normal tanpa memerlukansudo
izinpython
. Saya bahkan digunakansudo conda
untuk memperbaiki yang rusakpip
daripada menggunakansudo pip uninstall pip
atausudo pip --upgrade install pip
.sumber