Outils pour utilisateurs

Outils du site


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

dev/python/pip.txt · Dernière modification : 2021/11/28 13:27 de yoann