Conda
dan conda-forge
keduanya adalah pengelola paket Python. Apa pilihan yang tepat jika ada paket di kedua repositori? Django, misalnya, dapat dipasang dengan salah satu, tetapi perbedaan antara keduanya adalah beberapa ketergantungan (conda-forge memiliki lebih banyak lagi). Tidak ada penjelasan untuk perbedaan ini, bahkan README sederhana pun tidak.
Yang mana yang harus digunakan? Conda atau conda-forge? Apakah itu penting?
conda
adalah manajer paket danconda-forge
saluran. Mungkinkah benar ketika pertanyaan ini diajukan?Jawaban:
Jawaban singkatnya adalah, menurut pengalaman saya secara umum, tidak masalah yang Anda gunakan.
Jawaban panjangnya:
Begitu
conda-forge
juga saluran tambahan tempat paket dapat diinstal. Dalam hal ini, ini tidak lebih istimewa dari saluran default, atau dari ratusan (ribuan?) Saluran lainnya yang paketnya telah diposting orang. Anda dapat menambahkan saluran Anda sendiri jika Anda mendaftar di https://anaconda.org dan mengunggah paket Conda Anda sendiri.Di sini kita perlu membuat perbedaan, yang menurut saya Anda tidak jelas dari ungkapan Anda dalam pertanyaan, antara
conda
, manajer paket lintas platform, danconda-forge
, saluran paket. Anaconda Inc. (sebelumnya Continuum IO), pengembang utamaconda
perangkat lunak, juga mengelola saluran paket terpisah, yang merupakan default saat Anda mengetikconda install packagename
tanpa mengubah opsi apa pun.Ada tiga cara untuk mengubah opsi saluran. Dua yang pertama dilakukan setiap kali Anda menginstal paket dan yang terakhir tetap ada. Yang pertama adalah menentukan saluran setiap kali Anda menginstal paket:
Tentu saja, paket tersebut harus ada di saluran itu. Dengan cara ini akan menginstal
packagename
dan semua dependensinya darisome-channel
. Sebagai alternatif, Anda dapat menentukan:Paket masih harus ada
some-channel
, tapi sekarang hanyapackagename
akan ditarik darisome-channel
. Paket lain yang diperlukan untuk memenuhi dependensi akan dicari dari daftar saluran default Anda.Untuk melihat konfigurasi saluran Anda, Anda dapat menulis:
Anda dapat mengontrol urutan pencarian saluran
conda config
. Kamu bisa menulis:untuk menambahkan saluran
some-channel
ke bagian ataschannels
daftar konfigurasi. Ini memberikansome-channel
prioritas tertinggi. Prioritas menentukan ( sebagian ) saluran mana yang dipilih ketika lebih dari satu saluran memiliki paket tertentu. Untuk menambahkan saluran ke akhir daftar dan memberikan prioritas terendah, ketikJika Anda ingin menghapus saluran yang Anda tambahkan, Anda dapat melakukannya dengan menulis
Lihat
untuk opsi lainnya.
Dengan semua itu, ada empat alasan utama untuk menggunakan
conda-forge
saluran tersebut, bukandefaults
saluran yang dikelola oleh Anaconda:conda-forge
mungkin lebih terkini daripada yang ada didefaults
saluranconda-forge
saluran yang tidak tersedia daridefaults
openblas
(fromconda-forge
) daripadamkl
(fromdefaults
).sumber
conda install -c some-channel packagename
cara menulis perintahmkl
lebih cepat dariopenblas
?Anaconda telah mengubah Persyaratan Layanan mereka sehingga "pengguna komersial berat" harus membayar, yang tidak termasuk
conda-forge
saluran.Anda mungkin ingin tetap menggunakannya
conda-forge
jika Anda tidak ingin membayar untuk penggunaan tersebut. Seperti yang dinyatakan dalam dokumen :Anda juga dapat menggunakan miniforge yang memiliki
conda-forge
saluran default, dan mendukung platform ppc64le dan aarch64 serta yang biasa lainnya.sumber
Saluran conda-forge adalah tempat Anda dapat menemukan paket-paket yang telah dibuat untuk conda tetapi belum menjadi bagian dari distribusi resmi Anaconda.
Umumnya, Anda dapat menggunakan salah satunya.
sumber
Ada beberapa pustaka Python yang tidak dapat Anda instal dengan sederhana
conda install
karena salurannya tidak tersedia kecuali Anda menerapkan conda-forge. Dari pengalaman saya, pip lebih umum untuk melihat sumber saluran yang berbeda daripada conda. Misalnya, jika Anda ingin menginstal,python-constraint
Anda dapat melakukannya melaluipip install
tetapi menginstalnya melalui ** cond **. Anda harus menentukan saluran -conda-forge
.tapi tidak
sumber
conda update --all
itu tidak akan memperbarui paket yang diinstal pip