Perlu memverifikasi apakah sudah diinstal atau tidak sebelum program dapat berjalan.
package-management
python
hubatrix
sumber
sumber
pip install
. Jika sudah diinstal, itu tidak akan menginstalnya lagi.Jawaban:
Ketik di shell:
pydoc modules
.Ini akan mendaftar modul dan Anda dapat memahami modul yang Anda inginkan.
Ditemukan di stackoverflow di sini
sumber
Anda harus menggunakan
pip
'slist
perintah dengan grep, bahwa hanya daftar diinstal paket (tidak semua modul dan tetangga mereka juga):Jika package_name cocok dengan beberapa paket yang diinstal misalnya mencari
boto
kapanbotocore
juga diinstal, maka menggunakan-w
bukannya-F
dapat membantu, seperti yang disarankan @TaraPrasadGurung. Ini tidak mencantumkan paket yang tepat, karena-w
melihat karakter umum dalam nama paket sebagai batas kata. Jadi jika Anda memilikirequests
danrequests-cache
menginstal atauruamel.yaml
dan ruamel.yaml.cmd` dan membutuhkan satu baris output, Anda perlu melakukan sesuatu seperti:Harap dicatat bahwa karena
.
cocok dengan karakter apa pun saat menggunakan-E
, Anda harus menghindarinya.¹¹ Dan ya itu perlu karena ada paket
ruamel_yaml
. Tidak setiap manajer paketpip
kompatibel ketika berhadapan dengan paket namespace.sumber
-w
sebagai batas kata dan umum dalam nama paket. Saya mendapatkan beberapa pertandingan ketika saya menggunakan saran Anda menggunakangrep -w ruamel.yaml
ataugrep -w request
pip list | grep -F mxnet-cu101
mencetakmxnet-cu101 1.5.0
, tetapi tidak persis di mana itu dipasang. tahu bagaimana cara mendapatkan jalur yang diinstal? `Jika paket tidak melakukan sesuatu yang gila atau menghabiskan waktu dalam impor, Anda dapat mencoba mengimpornya:
sumber
Saya telah menemukan jawaban yang ada tidak lengkap dan kurang contoh yang cukup baik. Inilah solusi yang telah saya pilih:
Inti Github dari contoh ini dapat ditemukan di sini: https://gist.github.com/shaypal5/d505af9953cd86f59c750fa600ee4ba6
sumber
Anda juga dapat menggunakan sesuatu seperti ini di skrip Anda.
Apa yang akan Anda dapatkan ketika paket tidak diinstal.
Apa yang akan Anda dapatkan ketika paket diinstal.
Bekerja di python2 dan python3, dan kemudian Anda menginstal berdasarkan kode keluar.
sumber
Saya menggunakan versi jawaban Anthon yang sedikit lebih ketat, untuk digunakan dalam skrip:
Dua greps pertama dimaksudkan untuk menghilangkan garis header dari output pip3.
Pemotongan kemudian hanya memilih nama paket (membuang nomor versi).
Kemudian grep terakhir dapat melakukan pencarian tepat untuk yang relevan
$package_name
Jika paket ditemukan, itu akan menampilkan nama paket, dan kembali dengan kode keluar 0. Jika Anda tidak ingin melihat nama paket, akhiri perintah dengan
>/dev/null
sumber
dalam shell Python / prompt. :
sumber
Diuji dengan pip3:
Kode keluar ($?) Akan menjadi "0" jika modul diinstal, atau "1".
Grepping memiliki masalah "false positive": Output dari a
akan cocok dengan modul apa pun yang namanya berisi "NAME", mis. juga cocok dengan "some_other_NAME".
Sementara
hanya kecocokan pada kecocokan lengkap.
sumber