Sebenarnya tidak ada satu "jawaban" untuk pertanyaan ini, tetapi pasti ada beberapa konsep bermanfaat yang dapat membantu Anda mengambil keputusan.
Pertanyaan pertama yang perlu dijawab dalam kasus penggunaan Anda adalah "Apakah saya ingin menggunakan sistem Python?" Jika Anda ingin menggunakan Python yang didistribusikan dengan sistem operasi Anda, maka menggunakan metode instal apt-get mungkin baik-baik saja. Bergantung pada metode distribusi sistem operasi, Anda masih harus mengajukan beberapa pertanyaan lagi, seperti "Apakah saya ingin menginstal beberapa versi paket ini?" Jika jawabannya ya, mungkin bukan ide yang baik untuk menggunakan sesuatu seperti apt. Dpkg cukup banyak hanya akan mengurai arsip di root sistem file, jadi terserah pengelola paket untuk memastikan paket terinstal dengan aman dengan asumsi yang sangat sedikit. Dalam kasus sebagian besar paket debian, saya akan berasumsi (seseorang dapat dengan bebas mengoreksi saya di sini) bahwa mereka hanya untar dan menyediakan paket tingkat atas.
Misalnya, paketnya adalah "virtualenv", Anda akan mendapatkan /usr/lib/python2.x/site-packages/virtualenv
. Jika Anda menginstalnya dengan easy_install
Anda akan mendapatkan sesuatu seperti /usr/lib/python2.x/site-packages/virtualenv.egg-link
itu yang mungkin mengarah ke /usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.egg
direktori atau telur zip. Pip melakukan hal serupa meskipun tidak menggunakan telur dan sebagai gantinya akan menempatkan paket tingkat atas langsung di lib
direktori.
Saya mungkin salah jalan, tetapi intinya adalah bahwa setiap metode memperhitungkan kebutuhan yang berbeda. Inilah sebabnya mengapa alat seperti virtualenv sangat membantu karena memungkinkan Anda untuk membuat kotak pasir pustaka Python Anda sedemikian rupa sehingga Anda dapat memiliki kombinasi apa pun yang Anda butuhkan dari pustaka dan versi.
Setuptools juga memungkinkan menginstal paket sebagai multiversi yang berarti tidak ada satu pun bulan yang dule_name.egg-link
dibuat. Untuk mengimpor paket tersebut, Anda perlu menggunakan pkg_resources dan __import__
fungsinya.
Kembali ke pertanyaan awal Anda, jika Anda puas dengan python sistem dan berencana menggunakan virtualenv dan pip untuk membangun lingkungan untuk aplikasi yang berbeda, maka menginstal virtualenv dan / atau pip pada tingkat sistem menggunakan apt-get tampaknya sangat tepat. Satu kata yang perlu diperhatikan adalah jika Anda berencana untuk meningkatkan distribusi Python Anda, itu mungkin memiliki efek riak melalui virtualenv Anda jika Anda menautkan kembali ke paket situs sistem Anda.
Saya juga harus menyebutkan bahwa tidak ada dari opsi ini yang secara inheren lebih baik daripada yang lain. Mereka hanya mengambil pendekatan yang berbeda. Menggunakan versi sistem adalah cara terbaik untuk menginstal aplikasi Python, namun ini bisa menjadi cara yang sangat sulit untuk mengembangkan dengan Python. Mudah menginstal dan setuptools sangat nyaman di dunia tanpa virtualenv, tetapi jika Anda perlu menggunakan versi berbeda dari pustaka yang sama, maka itu juga menjadi agak sulit. Pip dan virtualenv benar-benar bertindak lebih seperti mesin virtual. Alih-alih berhati-hati untuk menginstal sesuatu secara berdampingan, Anda hanya membuat lingkungan yang sama sekali baru. Kelemahannya di sini adalah bahwa 30+ virtualenv nanti Anda mungkin telah menggunakan cukup banyak ruang disk dan mengacaukan sistem file Anda.
Seperti yang Anda lihat, dengan banyaknya opsi, sulit untuk menentukan metode mana yang akan digunakan, tetapi dengan sedikit penyelidikan ke dalam kasus penggunaan Anda, Anda seharusnya dapat menemukan metode yang berfungsi.
ez_setup.py
mencari "versi ringan" untuk mendapatkan pip. Saya akan melakukan hal yang sama tetapi takut itu akan rusak dalam waktu dekat dan saya akan terjebak di sini lagi (seperti yang selalu saya lakukan)