Vous devez vérifier s'il est installé ou non avant de pouvoir exécuter le programme.
package-management
python
hubatrix
la source
la source
pip install
. S'il est déjà installé, il ne le réinstallera pas.Réponses:
Tapez le shell:
pydoc modules
.Cela listera les modules et vous pouvez grep le module que vous voulez.
Trouvé sur stackoverflow ici
la source
Vous devez utiliser
pip
lalist
commande de avec grep, qui répertorie uniquement les packages installés (pas tous les modules et leurs voisins également):Si package_name correspond à plusieurs packages installés, par exemple en recherchant
boto
quandbotocore
est également installé, alors utiliser-w
au lieu de-F
peut aider, comme le suggère @TaraPrasadGurung. Cela ne répertorie pas le package exact, car les-w
caractères communs aux noms de packages sont des limites de mots. Donc, si vous avezrequests
etrequests-cache
installé ouruamel.yaml
et ruamel.yaml.cmd` et que vous avez besoin exactement d'une ligne de sortie, vous devez faire quelque chose comme:Veuillez noter que puisque
.
correspond à n'importe quel caractère lors de son utilisation-E
, vous devez y échapper.¹¹ Et oui c'est nécessaire car il y a un package
ruamel_yaml
. Tous les gestionnaires de packages ne sont paspip
compatibles avec les packages d'espace de noms.la source
-w
comme des limites de mot et sont courants dans les noms de package. J'obtiens plusieurs correspondances lorsque j'utilise votre suggestion en utilisantgrep -w ruamel.yaml
ougrep -w request
pip list | grep -F mxnet-cu101
imprimemxnet-cu101 1.5.0
, mais pas exactement où il est installé. une idée comment obtenir le chemin installé? `Si le package ne fait pas quelque chose de fou ou de long à l'importation, vous pouvez essayer de l'importer:
la source
J'ai trouvé les réponses existantes incomplètes et manquant d'exemples assez bons. Voici la solution sur laquelle j'ai opté:
Un résumé Github de cet exemple peut être trouvé ici: https://gist.github.com/shaypal5/d505af9953cd86f59c750fa600ee4ba6
la source
Vous pouvez également utiliser quelque chose comme ça dans vos scripts.
Ce que vous obtiendriez lorsqu'un package n'est pas installé.
Ce que vous obtiendriez lorsqu'un package est installé.
Fonctionne en python2 et python3, puis vous installez en fonction du code de sortie.
la source
J'ai utilisé une version légèrement plus stricte de la réponse d'Anthon, à utiliser dans un script:
Les deux premiers greps sont destinés à supprimer les lignes d'en-tête de la sortie de pip3.
La coupe sélectionne ensuite uniquement les noms de package (en supprimant les numéros de version).
Ensuite, le grep final peut effectuer une recherche exacte pour le
$package_name
Si le package est trouvé, il affichera le nom du package et retournera avec le code de sortie 0. Si vous ne voulez pas voir le nom du package, terminez la commande avec
>/dev/null
la source
dans un shell / invite Python. :
la source
Testé avec pip3:
Le code de sortie ($?) Serait "0" si le module est installé, sinon "1".
Grepping a le problème des "faux positifs": la sortie d'un
correspondrait à n'importe quel module dont le nom contient "NAME", par exemple également "some_other_NAME".
Tandis que
correspond uniquement sur les matchs complets.
la source