Python PIP
Apprenez à utiliser pip pour installer, mettre à jour et supprimer des paquets Python, épingler des versions, exporter des dépendances et éviter les erreurs courantes.
pip est le gestionnaire de paquets intégré à Python. Il télécharge des paquets depuis PyPI (le Python Package Index) et les installe pour que vous puissiez les importer dans votre code. Si vous avez Python 3.4 ou une version ultérieure, pip est déjà inclus — aucune installation séparée n'est nécessaire.
Ce chapitre couvre tout ce dont vous avez besoin pour utiliser pip en toute confiance : vérifier votre installation, installer et supprimer des paquets, épingler des versions, exporter des dépendances et corriger les erreurs courantes.
Vérifier votre installation de pip
Ouvrez un terminal et exécutez :
pip --versionVous verrez une sortie similaire à :
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)Si la commande est introuvable, ou si vous avez plusieurs versions de Python, utilisez à la place la forme python -m pip — elle garantit que vous exécutez pip pour l'interpréteur Python souhaité :
python -m pip --versionMettre à jour pip
pip publie régulièrement de nouvelles versions. Gardez-le à jour pour éviter les avertissements du résolveur :
python -m pip install --upgrade pipInstaller des paquets
Installation de base
pip install requestspip télécharge requests et toutes ses dépendances depuis PyPI, puis les installe dans votre environnement Python actif. Après l'installation, vous pouvez importer le paquet immédiatement.
Installer une version spécifique
Épinglez une version exacte lorsque la reproductibilité est importante :
pip install requests==2.31.0Vous pouvez également exprimer des plages de versions à l'aide d'opérateurs de comparaison :
pip install "requests>=2.28,<3.0"Entourez toujours les plages de guillemets dans le shell pour éviter que < et > ne soient interprétés comme des redirections.
Installer depuis un fichier requirements
Un fichier requirements.txt liste tous les paquets nécessaires à un projet, un par ligne. Installez tous les paquets du fichier avec une seule commande :
pip install -r requirements.txtUn fichier requirements.txt typique ressemble à ceci :
requests==2.31.0
flask>=3.0,<4.0
sqlalchemyInstaller en mode éditable
Lorsque vous développez un paquet local et souhaitez que les modifications prennent effet sans réinstallation, utilisez le flag -e :
pip install -e .Cela crée un lien vers le répertoire du paquet directement dans l'environnement, au lieu de copier les fichiers.
Installer uniquement pour l'utilisateur courant
Si vous n'avez pas la permission d'écrire dans le répertoire Python système et que vous n'utilisez pas d'environnement virtuel, ajoutez --user :
pip install --user requestsLe paquet est installé dans votre répertoire personnel (~/.local/ sur Linux/macOS). C'est une solution de repli — utiliser un environnement virtuel est presque toujours le meilleur choix.
Lister et inspecter les paquets
Lister tous les paquets installés
pip listExemple de sortie :
Package Version
---------- -------
pip 24.0
requests 2.31.0
setuptools 69.0.3Afficher les détails d'un paquet
pip show requestsLa sortie inclut la version, l'auteur, la licence, l'emplacement d'installation et — surtout — ce qu'il requiert et ce qui le requiert :
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
License: Apache 2.0
Location: /usr/lib/python3/dist-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:Vérifier les conflits de versions
pip checkpip analyse tous les paquets installés et signale toute exigence incompatible. Si tout est en ordre, la commande se termine silencieusement.
Mettre à jour et supprimer des paquets
Mettre à jour un paquet
pip install --upgrade requestsCela installe la dernière version qui satisfait les contraintes déjà présentes dans votre environnement.
Mettre à jour tous les paquets (pas de commande intégrée)
pip ne dispose d'aucune commande unique pour mettre à jour tous les paquets installés. Une solution courante utilisant pip list et xargs :
pip list --outdated --format=freeze | cut -d = -f 1 | xargs pip install --upgradeUtilisez ceci avec précaution dans un environnement de projet — des mises à jour massives peuvent introduire des changements incompatibles. Les fichiers requirements.txt avec versions épinglées sont une alternative plus sûre.
Désinstaller un paquet
pip uninstall requestspip demande une confirmation avant de supprimer le paquet. Passez -y pour ignorer la confirmation dans les scripts :
pip uninstall -y requestsExporter les dépendances
Figer l'environnement actuel
pip freeze affiche chaque paquet installé avec sa version exacte dans un format adapté à un fichier requirements.txt :
pip freeze > requirements.txtLa sortie ressemble à :
certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1Partagez requirements.txt avec vos collègues ou incluez-le dans votre dépôt afin que chacun puisse reproduire votre environnement avec pip install -r requirements.txt.
pip et les environnements virtuels
Par défaut, pip installe les paquets globalement (ou par utilisateur avec --user). Cela pose problème lorsque deux projets ont besoin de versions différentes d'une même bibliothèque.
La solution est un environnement virtuel : une installation Python isolée qui dispose de son propre pip et de son propre répertoire site-packages. Lorsqu'un environnement virtuel est actif, pip install n'affecte que cet environnement.
# Create a virtual environment named .venv
python -m venv .venv
# Activate it (macOS / Linux)
source .venv/bin/activate
# Activate it (Windows)
.venv\Scripts\activate
# Now pip works inside the isolated environment
pip install requestsConsultez le chapitre Python Virtual Environments pour le flux de travail complet.
Obtenir une sortie détaillée
Lorsqu'une installation échoue, le message d'erreur par défaut peut être cryptique. Ajoutez --verbose (ou -v) pour voir chaque étape exécutée par pip :
pip install --verbose requestsAjoutez -v deux fois (-vv) pour encore plus de détails, y compris les requêtes HTTP que pip effectue vers PyPI.
Erreurs courantes et solutions
| Erreur | Cause probable | Solution |
|---|---|---|
command not found: pip | pip absent du PATH ou non installé | Utilisez python -m pip ou installez pip via ensurepip |
Permission denied | Pas d'accès en écriture au Python système | Ajoutez --user ou activez un environnement virtuel |
Could not find a version that satisfies the requirement | Nom de paquet incorrect, ou version inexistante | Vérifiez le nom exact sur pypi.org |
ResolutionImpossible | Exigences de version conflictuelles entre paquets | Utilisez pip check pour identifier les conflits ; assouplissez les versions épinglées |
SSL certificate verify failed | Proxy d'entreprise ou certificats obsolètes | Mettez à jour votre bundle CA ou utilisez --trusted-host pypi.org |
Tableau de référence rapide
| Tâche | Commande |
|---|---|
| Vérifier la version de pip | pip --version |
| Installer un paquet | pip install requests |
| Installer une version spécifique | pip install requests==2.31.0 |
| Installer depuis un fichier requirements | pip install -r requirements.txt |
| Mettre à jour un paquet | pip install --upgrade requests |
| Désinstaller un paquet | pip uninstall requests |
| Lister les paquets installés | pip list |
| Afficher les détails d'un paquet | pip show requests |
| Exporter l'environnement actuel | pip freeze > requirements.txt |
| Vérifier les conflits | pip check |
Chapitres associés
- Python Modules — comprendre comment Python importe du code avant d'installer des paquets tiers
- Python Virtual Environments — isoler les dépendances de projet pour que les installations pip ne créent jamais de conflits