Apa cara terbaik untuk menginstal paket Python di Ubuntu 11? Saya baru saja pindah ke Ubuntu dan ingin belajar praktik terbaik.
Untuk konteks, saya mencari untuk menginstal paket tweeststream, tetapi saya tidak melihatnya di manajer paket Synaptic saya. Juga, saya sangat baru dalam pemrograman, tetapi saya biasanya dapat mengikuti contoh kode.
Jawaban:
Saya pikir cara terbaik bagi Anda adalah menginstal sistem pengemasan Python seperti "python-pip". Anda dapat menginstalnya dengan Synaptic atau Ubuntu Software Center.
Pip akan memungkinkan Anda untuk menginstal dan menghapus paket Python dengan mudah, cukup dengan
pip install package
. Dalam kasus Anda, ini akan menjadi seperti ini dari terminal:sumber
sudo pip <anything>
harus digunakan dengan sangat hati-hati. Karenatweetstream
tidak ada di Pusat Perangkat Lunak Ubuntu , saya sarankan menggunakan virtualenv . tweetstream inisetup.py
membutuhkananyjson
yang merupakan sebuah paket Ubuntu . Tidak menginstal tweetstream divirtualenv
dapat menyebabkan aplikasi Ubuntu lain bergantung padaanyjson
gagal. Memecahkan masalah dengan keras.sudo pip
di Ubuntu. @MarkMikofski: Anda tidak perlu virtualenv (kecuali Anda menginginkannya karena alasan tertentu).python -mpip install --user package-name
dapat menginstal paketpackafe-name
untuk pengguna saat ini. Jika ada dependensi kompleks (ekstensi C besar); Anda bisa menginstalnya menggunakanapt-get
, untuk menghindari menginstal dependensi build kecuali diperlukan.diperbarui: 2019-05-11: Posting ini sebagian besar menyebutkan
virtualenv
, tetapi menurut Python doc tentang pemasangan modul , karena Python 3.5 "penggunaanvenv
sekarang direkomendasikan untuk menciptakan lingkungan virtual", sementaravirtualenv
merupakan alternatif untuk versi Python sebelum 3.4 .diperbarui: 2018-08-17: sejak conda-4.4.0 digunakan
conda
untukactivate
anaconda di semua platformdiperbarui: 2017-03-27: PEP 513 -
manylinux
binari untuk PyPIdiperbarui: 2016-08-19: Opsi Continuum Anaconda
Ini adalah duplikat dari easy_install / pip atau apt-get .
Untuk paket Python global , gunakan Pusat Perangkat Lunak Ubuntu, apt, apt-get atau synaptic
Ubuntu menggunakan Python untuk banyak fungsi penting, oleh karena itu mengganggu Python dapat merusak OS Anda. Ini adalah alasan utama saya tidak pernah menggunakan
pip
pada sistem Ubuntu saya, tetapi saya menggunakan salah Ubuntu Software Center, synaptic ,apt-get
atau yang lebih baru hanyaapt
, yang semuanya secara default menginstal paket dari repositori Ubuntu . Paket-paket ini diuji, biasanya pra-dikompilasi sehingga mereka menginstal lebih cepat dan akhirnya dirancang untuk Ubuntu. Selain itu semua dependensi yang diperlukan juga diinstal dan log instalasi dipertahankan sehingga dapat diputar kembali. Saya pikir sebagian besar paket memiliki repos Launchpad yang sesuai sehingga Anda dapat mengajukan masalah.Alasan lain untuk menggunakan paket Ubuntu adalah kadang-kadang paket Python ini memiliki nama yang berbeda tergantung dari mana Anda mengunduhnya. Python-chardet adalah contoh dari sebuah paket yang pada suatu waktu dinamai satu hal pada PyPI dan satu lagi dalam repositori Ubuntu. Oleh karena itu melakukan sesuatu seperti
pip install requests
tidak akan menyadari bahwa chardet sudah diinstal di sistem Anda karena versi Ubuntu memiliki nama yang berbeda, dan akibatnya menginstal versi baru yang akan merusak sistem Anda dengan cara yang tidak signifikan tetapi masih mengapa Anda melakukannya.Secara umum Anda hanya ingin menginstal kode tepercaya ke dalam OS Anda. Jadi, Anda harus gugup mengetik
$ sudo pip <anything-could-be-very-bad>
.Terakhir beberapa hal hanya lebih mudah untuk menginstal menggunakan paket Ubuntu. Sebagai contoh jika Anda mencoba
pip install numpy
menginstal numpy & scipy kecuali Anda telah menginstal gfortran, atlas-dev, blas-dev dan lapack-dev, Anda akan melihat aliran kesalahan kompilasi yang tak berkesudahan. Namun, menginstal numpy & scipy melalui repositori Ubuntu semudah ...Anda beruntung, karena Anda menggunakan Ubuntu, salah satu distribusi yang paling banyak didukung dan sering diperbarui. Kemungkinan besar setiap paket Python yang Anda perlukan ada di repositori Ubuntu, dan mungkin sudah diinstal pada mesin Anda. Dan setiap 6 bulan, siklus paket baru akan dirilis dengan distribusi Ubuntu terbaru.
Jika Anda 100% yakin bahwa paket tersebut tidak akan mengganggu sistem Ubuntu Anda dengan cara apa pun, maka Anda dapat menginstalnya menggunakan pip dan Ubuntu cukup bagus untuk menjaga paket-paket ini terpisah dari paket distro dengan menempatkan paket-paket distro dalam folder bernama
dist-packages/
. Repositori Ubuntu memiliki kedua pip, virtualenv dan setuptools. Namun, saya menyarankan saran Wojciech untuk menggunakan virtualenv.Untuk proyek Python pribadi, gunakan pip dan roda dalam virtualenv
Jika Anda memerlukan versi terbaru, atau modul tidak ada dalam repositori Ubuntu maka mulai virtualenv dan gunakan pip untuk menginstal paket. Meskipun pip dan setuptools telah bergabung, IMO pip lebih disukai daripada instal mudah atau distutil, karena itu akan selalu menunggu sampai paket sepenuhnya diunduh dan dibangun sebelum menyalinnya ke sistem file Anda, dan itu membuat upgrade atau menghapus angin sepoi-sepoi. Dalam banyak hal ini mirip dengan apt-get, karena biasanya menangani dependensi dengan baik. Namun Anda
akanmungkin harus menangani beberapa dependensi sendiri, tapi karena PEP 513 diadopsi sekarang adamanylinux
binari di Paket Indeks Python (PyPI) untuk distro Linux populer seperti Ubuntu dan Fedora .misalnya seperti yang disebutkan di atas untuk NumPy dan SciPy pastikan Anda telah menginstal gfortran, atlas-dev, blas-dev dan lapack-dev dari repositori Ubuntu.Misalnya, NumPy dan SciPy sekarang didistribusikan untuk Ubuntu sebagaimanylinux
roda secara default menggunakan OpenBLAS sebagai gantinya dari ATLAS. Anda masih bisa membuatnya dari sumber dengan menggunakan opsi pip--no-use-wheel
atau--no-binary <format control>
.Lihat bagian berikutnya, "Anda tidak berada di
sudoers
", di bawah ini untuk menginstal versi terbaru dari pip, setuptools, virtualenv atau roda ke profil pribadi Anda menggunakan--user
skema instalasi dengan pip. Anda dapat menggunakan ini untuk memperbarui pip untuk penggunaan pribadi Anda sebagaimana ditunjukkan JF Sebastian dalam komentarnya untuk jawaban lain . CATATAN:-m
ini benar-benar hanya diperlukan pada MS Windows saat memperbarui pip .Versi pip yang lebih baru secara otomatis me-cache roda, jadi yang berikut hanya berguna untuk versi pip yang lebih lama. Karena Anda mungkin berakhir menginstal ini berkali-kali, pertimbangkan untuk menggunakan roda dengan pip untuk membuat ruang kemudi. Roda sudah disertakan
virtualenv
sejak v13.0.0 karena itu jika versi Andavirtualenv
terlalu lama, Anda mungkin perlu menginstal roda terlebih dahulu.Ini akan membuat file roda biner
<cwd>/wheelhouse
, gunakan-d
untuk menentukan direktori yang berbeda. Sekarang jika Anda memulai virtualenv lain dan Anda membutuhkan paket yang sama yang sudah Anda buat, Anda dapat menginstalnya dari ruang kemudi Anda menggunakanpip install --find-links=<fullpath>/wheelhouse
Baca Menginstal Modul Python di dokumentasi Python dan Menginstal paket pada halaman utama Indeks Paket Python . Juga pip , venv , virtualenv , dan roda .
Jika Anda tidak masuk
sudoers
danvirtualenv
tidak diinstal.Opsi lain untuk menggunakan lingkungan virtual, atau jika Anda menggunakan share Linux tanpa hak akses root, maka menggunakan skema instalasi Python
--user
atau--home=<wherever-you-want>
dengan Pythondistutils
akan menginstal paket dengan nilaisite.USERBASE
atau ke mana pun Anda inginkan. Versi pip yang lebih baru juga memiliki--user
opsi. Jangan gunakansudo
!Jika versi Linux dari pip Anda terlalu tua, maka Anda dapat meneruskan opsi pengaturan menggunakan
--install-option
yang berguna untuk meneruskan opsi kustom ke beberapasetup.py
skrip untuk beberapa paket yang membangun ekstensi, seperti mengaturPREFIX
. Anda mungkin perlu mengekstrak distribusi dan menggunakannyadistutils
untuk menginstal paket dengan cara old-school dengan mengetikpython setup install [options]
. Membaca beberapa dokumentasi instalasi dandistutils
dokumentasi dapat membantu.Python cukup bagus untuk ditambahkan di depan
site.USERBASE
AndaPYTHONPATH
dari hal lain, jadi perubahan hanya akan berpengaruh pada Anda. Lokasi populer--home
adalah~/.local
. Lihat panduan instalasi modul Python untuk struktur file yang tepat dan secara khusus di mana paket situs Anda berada. Catatan : jika Anda menggunakan--home
skema instalasi maka Anda mungkin perlu menambahkannya kePYTHONPATH
variabel lingkungan yang digunakanexport
di Anda.bashrc
,.bash_profile
atau di shell Anda agar paket lokal Anda tersedia dengan Python.Gunakan Continuum Anaconda Python untuk Matematika, Sains, Data, atau Proyek Pribadi
Jika Anda menggunakan Python untuk matematika, sains, atau data, maka IMO pilihan yang sangat bagus adalah Distribusi Anaconda-Python atau distro miniconda yang lebih mendasar yang dirilis oleh Anaconda, Inc. (sebelumnya dikenal sebagai Continuum Analytics ) . Meskipun siapa pun dapat mengambil manfaat dari menggunakan Anaconda untuk proyek-proyek pribadi, instalasi default mencakup lebih dari 500 paket matematika dan sains seperti NumPy, SciPy, Pandas, dan Matplotlib , sementara miniconda hanya menginstal Anaconda-Python dan manajer lingkungan conda. Anaconda hanya menginstal ke dalam profil pribadi Anda, yaitu:
/home/<user>/
danmengubahrekomendasi sumber~/.bashrc
atau~/.bash_profile
untuk menambahkan alur Anaconda ke$PATH
pribadi Andaconda.sh
di Anda~/.bashrc
yang memungkinkan Anda gunakanconda activate <env|default is base>
untuk memulai anaconda - ini hanya mempengaruhi Anda - jalur sistem Anda tidak berubah . Karena itu Anda tidak perlu akses root atausudo
menggunakan Anaconda! Jika Anda telah menambahkan Anaconda-Python, miniconda, atau conda ke jalur pribadi Anda, maka Anda harus menghapusPATH
ekspor dari Anda~/.bashrc
, dan memperbarui ke rekomendasi baru , sehingga sistem Anda Python akan menjadi yang pertama lagi.Ini agak mirip dengan
--user
opsi yang saya jelaskan di bagian terakhir kecuali itu berlaku untuk Python secara keseluruhan dan bukan hanya paket. Oleh karena itu Anaconda benar-benar terpisah dari sistem Anda Python , itu tidak akan mengganggu sistem Anda Python, dan hanya Anda yang dapat menggunakan atau mengubahnya. Karena menginstal versi baru Python dan semua pustaka, Anda memerlukan setidaknya 200MB ruang, tetapi sangat pintar tentang caching dan mengelola pustaka yang penting untuk beberapa hal keren yang dapat Anda lakukan dengan Anaconda.Anaconda mengumpulkan koleksi binari dan pustaka Python yang dibutuhkan oleh dependensi dalam repositori online (sebelumnya disebut binstar ) , dan mereka juga meng-host paket pengguna sebagai "saluran" yang berbeda. Manajer paket yang digunakan oleh Anaconda,,
conda
secara default menginstal paket dari Anaconda, tetapi Anda dapat memberi sinyal "saluran" yang berbeda menggunakan-c
opsi.Instal paket dengan
conda
sepertipip
:Tetapi
conda
bisa melakukan lebih banyak lagi! Itu juga dapat membuat dan mengelola lingkungan virtual sepertivirtualenv
. Oleh karena itu sejak Anaconda menciptakan lingkungan virtual,pip
manajer paket dapat digunakan untuk menginstal paket dari PyPI ke dalam lingkungan Anaconda tanpa root atausudo
. Jangan tidak menggunakansudo
dengan Anaconda! Peringatan! Berhati-hatilah saat mencampurpip
danconda
dalam lingkungan Anaconda, Anda harus mengatur dependensi paket dengan lebih hati-hati. Pilihan lain untukpip
dalam lingkungan conda adalah menggunakan saluran conda-forge, tetapi juga yang terbaik untuk melakukannya di lingkungan conda baru dengan conda-forge sebagai saluran default. Sebagai upaya terakhir, jika Anda tidak dapat menemukan paket di mana pun kecuali di PyPI, pertimbangkan untuk menggunakan--no-deps
lalu instal dependensi yang tersisa secara manualconda
.Anaconda juga mirip dalam beberapa hal dengan Ruby RVM jika Anda terbiasa dengan alat itu. Anaconda
conda
juga memungkinkan Anda membuat lingkungan virtual dengan berbagai versi Python . misalnya :conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
akan membuat tumpukan ilmiah / data-sains menggunakan Python-3.5 di lingkungan baru yang disebutpy35sci
. Anda dapat beralih lingkungan menggunakanconda
. Sejak conda-4.4.0, ini sekarang berbeda denganvirtualenv
yang menggunakansource venv/bin/activate
, tapi sebelumnya conda-4.4.0 yangconda
perintah adalah sama sepertivirtualenv
dan juga digunakansource
:Tapi tunggu, masih ada lagi! Anaconda juga dapat menginstal berbagai bahasa seperti R untuk pemrograman statistik dari saluran Anaconda
r
. Anda bahkan dapat mengatur saluran Anda sendiri untuk mengunggah distribusi paket yang dibuat untuk konda . Seperti yang disebutkan conda-forge mempertahankan build otomatis dari banyak paket pada PyPI di conda-forge Anaconda channel .Epilog
Ada banyak opsi untuk memelihara proyek Python Anda di Linux tergantung pada kebutuhan dan akses pribadi Anda. Namun, jika ada satu hal yang saya harap Anda ambil dari jawaban ini adalah Anda seharusnya hampir tidak perlu menggunakan
sudo
untuk menginstal paket Python . Penggunaansudo
harus menjadi bau bagi Anda bahwa ada sesuatu yang salah. Anda telah diperingatkan.Semoga sukses dan selamat coding!
sumber
sudo
berkelilingpip
. Langgan yang hebat, terima kasih atas informasi ini.pip install numpy
harus menginstal semua dependensipip install <package>
hanya akan menginstal dependensi paket Python yang tercantum diinstall_requires
bagiansetup.py
. Sebagai contoh: menginstal Jupyter tidak akan menginstal pandoc perpustakaan Haskell untuk mengekspor notebook Jupyter sebagai LaTeX, dll.conda install <package>
mungkin akan menginstal semua dependensi, termasuk C / C ++, FORTRAN, dll, bahkan pustaka Haskell, karena conda tidak hanya mengelola paket Python seperti pip, ia mengelola lingkungan. Jadi, jika Anda memiliki Anaconda atau miniconda kemudianconda install Jupyter
menginstal segala sesuatu di resep inimeta.yml
berkas , termasuk para Pandoc Haskell perpustakaan . Untuk info lebih lanjut lihat PyPASelain penambahan Novarchibald, umumnya merupakan ide bagus untuk membuat lingkungan virtual untuk proyek python Anda dan menginstal dependensi di dalamnya. Ini memungkinkan Anda untuk memiliki kontrol yang lebih baik atas dependensi dan versinya. Untuk mengatur lingkungan virtual, masukkan:
Kemudian, aktifkan dengan:
Pada titik ini apa pun yang Anda instal dengan pip akan disimpan di dalam lingkungan virtual ini. Jika Anda ingin menginstal sesuatu secara global, maka Anda harus keluar dari virtualenv dengan:
Anda dapat mengetahui lebih lanjut tentang virtualenv di sini .
sumber
virtualenv
opsi--no-site-packages
dan--distribute
sudah usang saat ini dan tidak berpengaruh lagi.Selain jawaban Zetah'a, perintah untuk menginstal python-pip dari terminal adalah:
sumber
Coba kerangka kerja GUI ini untuk PIP yang dikembangkan menggunakan PyQt4
Kerangka kerja GUI untuk PIP dikembangkan menggunakan PyQt4
Layar Mulai
Layar mulai berisi opsi bagi pengguna untuk memilih proses yang ingin dilakukan.
Kita juga dapat menentukan versi python yang dia inginkan untuk dijalankan.
Menu file memiliki opsi untuk "Keluar" (pintasan: Ctrl + Q) dan "Segarkan Daftar" yang menyegarkan file sumber daya yang berisi data paket.
Layar Instalasi
Layar instalasi memiliki bilah pencarian yang dapat digunakan pengguna untuk mencari dan menginstal paket yang diinginkan.
Layar Pembaruan
Layar pembaruan menampilkan daftar paket yang kedaluwarsa dan dapat ditingkatkan.
Copot Instalasi Screem
Layar uninstall menampilkan daftar paket yang diinstal di sistem pengguna dan dapat dihapus.
Jendela Kemajuan
Jendela progres adalah widget terminal bawaan untuk PIP-GUI yang menampilkan proses yang berjalan saat melakukan operasi.
sumber