{{tag>dev python pip}} ====== pip ====== pip est un outil de gestion des bibliothèques externes Python. Il permet: * Installer les bibliothèques et les dépendances. * Mettre à jour/downgrader les versions. * Facilite le déploiement d'une application en générant un listing des bibliothèques utilisées et leurs versions $ sudo apt-get install python-pip Installation de la bibliothèque pourra se faire pour l'ensemble du système ou simplement pour l'utilisateur courant: ===== Mise à jour de pip ===== Si des erreurs sont retournées par les commandes pip, il est possible de le remettre à jour: python3 -m pip install --upgrade pip Vérifier également l'installation et les versions des paquets **setuptools** et **wheel** ===== Rechercher un paquet ===== $ pip search docker-compose ===== Installer un paquet ===== $ sudo pip install --user bottle ===== Générer un bundle ===== La commande freeze permet de lister toutes les bibliothèques et leur version, la sortie de la commande peut être redirigée dans un fichier puis réutilisée pour un déploiement de l'application. $ pip freeze > libs.txt Pour installer les bibliothèques: $ pip install -r libs.txt Toujours grâce à ce fichier de listing, il est possible de générer une archive contenant l'ensemble des dépendances pour une installation hors ligne: $ pip bundle myLibs.pybundle -r libs.txt ===== Installer un bundle ===== Pour installer le bundle sur la machine cible: $ pip install myLibs.pybundle ===== Gérer les versions ===== Liste les paquets installés et leur version: $ pip list Pour lister les différentes versions disponibles d'un même paquet dans le cas de pip >= 9.0 $ pip install docker-compose== Pour les version antérieures de pip, donner en argument une version inexistante $ pip install docker-compose==toto Pour spécifier des critères sur les versions $ pip install --user docker-compose==1.8.1 ===== Troubleshooting / dépannage ===== Lors de l'utilisation de **pip3 search**, un message d'erreur est retourné: ERROR: XMLRPC request failed [code: -32500] RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information. Ce mode de recherche de paquetages est désactivé suite a de trop nombreuses requêtes. Utiliser l'interface web https://pypi.org/ source: https://softbranchdevelopers.com/why-does-pip-search-lead-to-an-error-xmlrpc-request-failed/ ===== Références ===== * http://sametmax.com/votre-python-aime-les-pip/ * https://stackoverflow.com/questions/4888027/python-and-pip-list-all-versions-of-a-package-thats-available#26664162