Python Language
Utilisation du module "pip": PyPI Package Manager
Recherche…
Introduction
Parfois, vous devrez peut-être utiliser le gestionnaire de paquets pip dans python, par exemple. lorsque certaines importations peuvent générer ImportError
et que vous souhaitez gérer l'exception. Si vous décompressez sur Windows, Python_root/Scripts/pip.exe
intérieur __main__.py
fichier __main__.py
, où main
classe main
du paquetage pip
est importée. Cela signifie que le paquetage pip est utilisé chaque fois que vous utilisez l'exécutable pip. Pour utiliser pip comme exécutable, voir: pip: PyPI Package Manager
Syntaxe
- pip. <function | attribute | class> où la fonction est l'une des suivantes:
- autocomplete ()
- Achèvement de la commande et de l'option pour l'analyseur principal (et les options) et ses sous-commandes (et options). Activer en recherchant l'un des scripts de complétion (bash, zsh ou fish).
- check_isolated (args)
- param args {list}
- retourne {boolean}
- create_main_parser ()
- retourne l'objet {pip.baseparser.ConfigOptionParser}
- main (args = None)
- param args {list}
- renvoie {entier} S'il n'a pas échoué, renvoie 0
- parseopts (args)
- param args {list}
- get_installed_distributions ()
- retourne {liste}
- get_similar_commands (name)
- Nom de la commande corrigé automatiquement
- param name {string}
- retourne {boolean}
- get_summaries (commandé = True)
- Donne les tuples triés (nom de la commande, résumé de la commande).
- get_prog ()
- renvoie {chaîne}
- dist_is_editable (dist)
- La distribution est-elle une installation modifiable?
- param dist {object}
- retourne {boolean}
- commands_dict
- attribut {dictionary}
- autocomplete ()
Exemple d'utilisation de commandes
import pip
command = 'install'
parameter = 'selenium'
second_param = 'numpy' # You can give as many package names as needed
switch = '--upgrade'
pip.main([command, parameter, second_param, switch])
Seuls les paramètres nécessaires sont obligatoires, donc pip.main(['freeze'])
et pip.main(['freeze', '', ''])
sont acceptables.
Installation par lots
Il est possible de transmettre de nombreux noms de paquet en un seul appel, mais si une installation / mise à niveau échoue, le processus d'installation complet s'arrête et se termine avec le statut '1'.
import pip
installed = pip.get_installed_distributions()
list = []
for i in installed:
list.append(i.key)
pip.main(['install']+list+['--upgrade'])
Si vous ne voulez pas vous arrêter lorsque certaines installations échouent, appelez l'installation en boucle.
for i in installed:
pip.main(['install']+i.key+['--upgrade'])
Gestion des exceptions ImportError
Lorsque vous utilisez le fichier python en tant que module, il n'est pas toujours nécessaire de vérifier si le package est installé, mais il est toujours utile pour les scripts.
if __name__ == '__main__':
try:
import requests
except ImportError:
print("To use this module you need 'requests' module")
t = input('Install requests? y/n: ')
if t == 'y':
import pip
pip.main(['install', 'requests'])
import requests
import os
import sys
pass
else:
import os
import sys
print('Some functionality can be unavailable.')
else:
import requests
import os
import sys
Installer force
Par exemple, de nombreux paquets sur la version 3.4 fonctionneraient sur la version 3.6, mais s'il n'y a pas de distributions pour une plate-forme spécifique, ils ne peuvent pas être installés, mais il existe une solution de contournement. Dans les fichiers .whl (appelés roues), la convention de nommage détermine si vous pouvez installer le package sur la plate-forme spécifiée. Par exemple. scikit_learn‑0.18.1‑cp36‑cp36m‑win_amd64.whl
[nom_package] - [version] - [interpréteur python] - [python-interpreter] - [système d'exploitation] .whl. Si le nom du fichier de la roue est modifié, de sorte que la plate-forme corresponde, pip essaie d'installer le paquet même si la version de la plateforme ou de python ne correspond pas. La suppression de la plate-forme ou de l'interpréteur du nom entraînera une erreur dans la dernière version du module pip kjhfkjdf.whl is not a valid wheel filename.
.
Alternativement, le fichier .whl peut être décompressé en utilisant un archiveur comme 7-zip. - Il contient généralement un dossier de méta de distribution et un dossier avec les fichiers source. Ces fichiers source peuvent être simplement décompressés dans le répertoire site-packges
, à moins que cette roue ne contienne un script d'installation, si c'est le cas, elle doit être exécutée en premier.