Menu
Français

pip Python : installer des packages, gérer les versions et utiliser PyPI

Comment installer, mettre à jour et retirer des packages Python avec pip — y compris PyPI, les fichiers requirements et éviter le piège de l'installation globale.

Ce qu'est vraiment pip

pip est l'outil qui installe les bibliothèques Python que tu n'as pas écrites toi-même. Quand tu lances pip install requests, il cherche requests sur PyPI (le Python Package Index), télécharge la bonne version pour ta plateforme, et la dépose dans le répertoire site-packages de ton installation Python. Après ça, import requests fonctionne.

Chaque installation Python 3 depuis python.org, Homebrew ou ton gestionnaire de packages Linux vient avec pip déjà là. Avant d'installer quoi que ce soit, vérifie :

python -m pip --version

Tu devrais voir un numéro de version et un chemin vers le module pip. Si la commande échoue, le correctif le plus fiable est :

python -m ensurepip --upgrade

Ça amorce pip dans ton installation Python en utilisant la copie qui vient avec l'interpréteur.

python -m pip vs pip

Tu verras les deux formes. Elles font presque la même chose avec une différence importante : python -m pip utilise le python de ton PATH — le même que tes scripts utilisent. pip tout seul utilise ce qui arrive en premier, ce qui n'est pas toujours pareil.

Quand tu as plus d'un Python installé (facile de s'y retrouver sur macOS), pip tout seul est la façon dont tu obtiens la situation confuse « j'ai installé la bibliothèque mais mon code dit toujours ModuleNotFoundError ».

Règle empirique : utilise python -m pip ... quand tu veux la certitude sur quel interpréteur reçoit le package. pip tout seul va bien pour du travail rapide quand tu es sûr.

Installer un package

La commande de base :

python -m pip install requests

Ça récupère requests depuis PyPI, avec tout ce dont il dépend, et les installe. Une minute plus tard, tu peux l'utiliser :

main.py
Output
Click Run to see the output here.

Installer plusieurs packages d'un coup :

python -m pip install requests pandas rich

Épingler une version spécifique :

python -m pip install "django==5.0.2"
python -m pip install "requests>=2.30,<3"

Les guillemets comptent dans certains shells — ils empêchent == et < d'être interprétés comme des opérateurs shell.

Mettre à jour et désinstaller

python -m pip install --upgrade requests
python -m pip uninstall requests

--upgrade récupère la version la plus récente qui satisfait la contrainte que tu spécifies. uninstall retire le package mais pas ses dépendances ; elles restent jusqu'à ce que tu les retires explicitement.

Pour garder pip lui-même à jour :

python -m pip install --upgrade pip

Ça vaut le coup de lancer une fois tous les quelques mois. Les versions plus récentes de pip attrapent plus de problèmes d'installation et résolvent les dépendances mieux.

Voir ce qui est installé

python -m pip list
python -m pip show requests

list montre chaque package installé dans le Python courant. show requests affiche la version, l'emplacement, les dépendances et la licence pour ce package spécifique — utile quand tu te demandes « quelle version de ceci j'utilise vraiment ? »

requirements.txt : écrire tes dépendances

Quand un projet a plus de deux bibliothèques, écris la liste. pip freeze le fait pour toi :

python -m pip freeze > requirements.txt

Ça produit un fichier avec une dépendance épinglée par ligne :

django==5.0.2
requests==2.31.0
rich==13.7.1

Quiconque clone ton repo peut reproduire l'installation avec :

python -m pip install -r requirements.txt

pip freeze capture tout ce qui est installé, y compris les dépendances transitives. C'est bien pour la reproductibilité exacte mais bruyant quand tu veux seulement les bibliothèques de premier niveau que ton code importe vraiment. Beaucoup de projets gardent un requirements.txt maintenu à la main des dépendances directes, et laissent pip résoudre les transitives.

Pour les projets modernes, pyproject.toml (associé à des outils comme pip-tools, uv, poetry ou hatch) prend le pas sur requirements.txt. Le concept est le même — « écris les dépendances, lance une commande pour les installer » — mais le format de fichier est plus structuré.

Toujours installer dans un environnement virtuel

Chaque vrai projet Python devrait avoir un environnement virtuel. C'est un dossier local au projet avec son propre python et ses propres packages installés — donc pip install dans un projet n'affecte aucun autre.

La configuration en deux lignes :

python -m venv .venv
source .venv/bin/activate    # macOS / Linux
# ou .venv\Scripts\activate sur Windows

Une fois activé, python -m pip install requests installe dans le venv. Ton Python système reste propre. On couvre ça plus en profondeur sur la page Environnements virtuels.

Si tu lances un jour pip install et vois un avertissement sur l'installation dans le Python système (ou un message qui te dit de passer --break-system-packages), arrête. C'est ton signal pour créer un venv à la place.

Quand pip n'arrive pas à installer un package

Quelques modes d'échec courants et ce qu'ils veulent dire :

  • Could not find a version that satisfies the requirement … — généralement une faute de frappe dans le nom du package, ou le package exige un Python plus récent que ce que tu as.
  • error: Microsoft Visual C++ 14.0 or greater is required (Windows) — le package a une extension native et a besoin d'une chaîne d'outils de build C++. Soit installe les Build Tools de Microsoft, soit cherche un wheel pré-construit (la plupart des packages populaires en fournissent).
  • Permission denied — tu essaies d'installer dans le Python système sans root. Le bon correctif n'est pas sudo pip install — c'est un environnement virtuel.
  • ModuleNotFoundError après installation — presque toujours un cas où pip install a atterri dans un Python différent de celui qui exécute ton script. Vérifie which python et which pip (macOS/Linux) ou where python / where pip (Windows). Ou, plus fiablement, utilise python -m pip install ....

Les alternatives modernes à pip

Quelques outils que tu verras mentionnés — tous sont compatibles pip et résolvent des douleurs spécifiques :

  • uv — un installateur et résolveur bien plus rapide. Remplacement drop-in pour la plupart des commandes pip.
  • pipx — installe des outils en ligne de commande (comme black, ruff, httpie) dans des venvs isolés pour qu'ils soient disponibles globalement sans conflit avec les dépendances de projet.
  • poetry et hatch — gestionnaires de projets qui combinent la gestion d'environnement virtuel, la résolution de dépendances et le build dans un seul outil.

Tu n'as besoin d'aucun d'eux au premier jour. Apprends pip d'abord ; tends vers les autres quand la douleur qu'ils résolvent devient la tienne.

Ensuite : environnements virtuels

Packages et environnements virtuels vont ensemble. Tu as vu pourquoi ; la prochaine page parcourt venv en détail — créer, activer, désactiver, et les petites conventions qui gardent les projets Python organisés.

Questions fréquentes

Qu'est-ce que pip en Python ?

pip est l'installateur de packages de Python — l'outil qui télécharge et installe des bibliothèques tierces depuis le Python Package Index (PyPI). pip install requests récupère la bibliothèque requests et la met là où ton interpréteur Python peut l'importer. Il est livré avec chaque installation Python 3 récente.

Comment installer pip ?

Il vient avec Python. Si pip --version signale une commande manquante, lance python -m ensurepip --upgrade ou python -m pip install --upgrade pip. Sur macOS et Linux, utilise pip3 si pip seul n'est pas trouvé — il pointe vers l'installation Python 3.

Comment mettre pip à jour ?

Lance python -m pip install --upgrade pip. Utiliser python -m pip au lieu de pip tout seul s'assure que la mise à jour cible l'interpréteur Python que tu utilises vraiment — un détail petit mais important quand plusieurs Pythons sont installés.

Devrais-je installer les packages globalement ou dans un environnement virtuel ?

Environnement virtuel, à chaque fois, pour chaque projet au-delà d'un script à usage unique. Les installations globales causent des conflits de versions entre projets et polluent ton Python système. Le module venv (intégré) est la réponse courte — on le couvre sur la page Environnements virtuels.

Apprendre à coder avec Coddy

COMMENCER