W3docs

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 --version

Vous 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 --version

Mettre à 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 pip

Installer des paquets

Installation de base

pip install requests

pip 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.0

Vous 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.txt

Un fichier requirements.txt typique ressemble à ceci :

requests==2.31.0
flask>=3.0,<4.0
sqlalchemy

Installer 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 requests

Le 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 list

Exemple de sortie :

Package    Version
---------- -------
pip        24.0
requests   2.31.0
setuptools 69.0.3

Afficher les détails d'un paquet

pip show requests

La 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 check

pip 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 requests

Cela 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 --upgrade

Utilisez 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 requests

pip demande une confirmation avant de supprimer le paquet. Passez -y pour ignorer la confirmation dans les scripts :

pip uninstall -y requests

Exporter 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.txt

La sortie ressemble à :

certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1

Partagez 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 requests

Consultez 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 requests

Ajoutez -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

ErreurCause probableSolution
command not found: pippip absent du PATH ou non installéUtilisez python -m pip ou installez pip via ensurepip
Permission deniedPas d'accès en écriture au Python systèmeAjoutez --user ou activez un environnement virtuel
Could not find a version that satisfies the requirementNom de paquet incorrect, ou version inexistanteVérifiez le nom exact sur pypi.org
ResolutionImpossibleExigences de version conflictuelles entre paquetsUtilisez pip check pour identifier les conflits ; assouplissez les versions épinglées
SSL certificate verify failedProxy d'entreprise ou certificats obsolètesMettez à jour votre bundle CA ou utilisez --trusted-host pypi.org

Tableau de référence rapide

TâcheCommande
Vérifier la version de pippip --version
Installer un paquetpip install requests
Installer une version spécifiquepip install requests==2.31.0
Installer depuis un fichier requirementspip install -r requirements.txt
Mettre à jour un paquetpip install --upgrade requests
Désinstaller un paquetpip uninstall requests
Lister les paquets installéspip list
Afficher les détails d'un paquetpip show requests
Exporter l'environnement actuelpip freeze > requirements.txt
Vérifier les conflitspip 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

Pratique

Pratique
Which pip command exports all installed package versions to a file?
Which pip command exports all installed package versions to a file?
Was this page helpful?