Saya dapat menginstal paket python ( misalnya , numpy
) di Mac saya melalui Macports:
port install py-numpy
atau melalui pip
:
pip install numpy
Apa pro / kontra umum dari setiap pendekatan? Kapan setiap pendekatan harus digunakan?
- Kapan saya harus memilih yang satu daripada yang lain?
- Apakah penting apakah paket yang saya instal kecil atau besar (mis.
numpy
)? - Apakah ini tergantung pada versi python yang saya gunakan (
2.x
vs.3.x
, atau Applepython
vs MacPortpython
)? - Apakah penting apakah saya memiliki beberapa versi yang
python
diinstal pada Mac saya? - Bisakah mereka digunakan bersamaan?
Saya berharap jawaban yang memiliki daftar pendek beberapa pro / kontra dari setiap pendekatan dengan beberapa diskusi tentang kapan harus memilih satu dari yang lain.
matplotlib
.numpy
hanyalah sebuah contoh. Saya bertanya tentang instalasi paket secara umum.Jawaban:
Mereka dapat digunakan secara bersamaan, dan seharusnya tidak ada masalah antara mencampur keduanya (dengan satu peringatan agak besar dan gotcha ...)
Peringatan
Peringatannya adalah bahwa macports / homebrew dan pip tidak akan memiliki kesadaran masing-masing telah menginstal vs yang lain.
Jadi, misalnya, katakanlah Anda menginstal python 3.6 di Mac Anda. Anda ingin
nltk
, yang secara teknis tidak tersedia untuk versi itu di Macports, tetapi itu ada di pip. Jadi Anda menginstal pada pip. Dua bulan kemudian, Anda melihat diinstal di Macports dan memilih untuk menginstalnya. Sekarang Anda memiliki dua versi berbedanltk
pada mesin Anda, jadi emptor peringatan .Gotcha
Jika Anda menggunakan pip dengan Macports, Anda perlu memastikan bahwa itu adalah pip yang diinstal melalui Macports dan dikaitkan dengan versi python itu. Jadi, misalnya, Anda akan melihat py35-pip, py36-pip, dll.
Setelah Anda menginstal pip yang tepat, Anda menggunakan
select
perintah Macports untuk memastikan bahwa itu diaktifkan dengan versi python yang sesuai:sumber
Anda harus menggunakan
pip
karena itu adalah alat asli-Python untuk mengelola instalasi paket tetapi Anda tidak boleh memasang-instal sesuatu ke dalam instalasi Python dasar Anda. Mungkin berantakan jika harus memilah dependensi versi tetap antara beberapa repositori perangkat lunak jika Anda menginstal semuanya ke dalam instalasi Python dasar di mesin Anda.Sebagai gantinya, Anda harus mem-instal virtualenv dan kemudian menggunakannya untuk mengelola instalasi Python virtual yang berbeda dan semua paket paket yang diinstal pip untuk semua lingkungan virtual.
Ini memungkinkan Anda untuk beralih dari bekerja dengan, katakanlah,
beautifulsoup
1.x dalam satu repositori perangkat lunak kebeautifulsoup
2.x dalam repositori lain tanpa harus menyeberang melalui neraka manajemen ketergantungan.sumber
Saya baru saja melakukan tes cepat mencari paket yang sama menggunakan Homebrew , MacPorts dan pip3 :
MacPorts dan pip3 memiliki paket yang sama (versi 1.18.1 ), sedangkan Homebrew memiliki versi 1.16 .
Saat berkolaborasi dengan orang lain, paling baik menyepakati bagaimana lingkungan pengembangan Anda dikonfigurasi atau Anda akan mulai menabrak anomali dan mendapatkan hasil tes yang berbeda. Oleh karena itu, alat terbaik adalah yang Anda semua setujui ;-)
sumber