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 :
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 passudo pip install— c'est un environnement virtuel.ModuleNotFoundErroraprès installation — presque toujours un cas oùpip installa atterri dans un Python différent de celui qui exécute ton script. Vérifiewhich pythonetwhich pip(macOS/Linux) ouwhere python/where pip(Windows). Ou, plus fiablement, utilisepython -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 (commeblack,ruff,httpie) dans des venvs isolés pour qu'ils soient disponibles globalement sans conflit avec les dépendances de projet.poetryethatch— 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.