pip est livré avec Python depuis la version 3.4, mais cette inclusion par défaut masque une réalité plus complexe. Sur les distributions Linux récentes, sur les clusters de calcul ou dans les environnements air-gapped, le binaire pip n’est pas toujours disponible, pas toujours à jour, et parfois volontairement retiré par l’administrateur système. Nous détaillons ici les approches fiables pour installer pip avec Python 3 quel que soit le contexte.
pip sur clusters et environnements air-gapped : la méthode wheels offline
Sur un nœud de calcul sans accès réseau, pip ne peut pas interroger PyPI. La pratique standard pour Python 3.12 et versions ultérieures consiste à pré-télécharger les wheels depuis une machine connectée, puis à les transférer sur le cluster.
A lire également : 3 conseils pour bien choisir une ESN
Sur la machine connectée, la commande pip download -d ./wheels nom_du_package récupère le package et toutes ses dépendances sous forme de fichiers .whl dans un répertoire local. Ce répertoire est ensuite copié via scp, rsync ou clé USB vers le nœud cible.
L’installation locale se fait avec pip install –no-index –find-links=./wheels nom_du_package. Le flag –no-index empêche toute tentative de connexion à PyPI. Si pip lui-même n’est pas présent sur le nœud, le fichier get-pip.py peut être transféré de la même manière et exécuté avec python3 get-pip.py –no-index –find-links=./wheels.
A lire aussi : Comparer 1to1 Webmail et ses alternatives : quel choix faire ?
Contraintes spécifiques aux wheels compilées
Les packages contenant des extensions C (numpy, scipy, lxml) produisent des wheels liées à une architecture et une version de Python précises. Un wheel téléchargé sur une machine x86_64 avec Python 3.11 ne fonctionnera pas sur un nœud ARM avec Python 3.12.
Nous recommandons de vérifier la compatibilité avec pip download –platform manylinux2014_x86_64 –python-version 3.12 –only-binary=:all: pour cibler explicitement l’architecture du cluster. Sans ce contrôle, l’installation échouera silencieusement ou tentera de compiler depuis les sources, ce qui suppose un compilateur C disponible sur le nœud.

Install pip sur Linux : apt, dnf et le piège de get-pip.py
Les distributions Debian et dérivées appliquent une politique de sécurité qui sépare strictement les paquets système des paquets Python utilisateur. Depuis les mises à jour récentes, utiliser get-pip.py sur le Python système casse potentiellement les outils du système qui dépendent de la version pip packagée par la distribution.
La commande recommandée sur Debian et Ubuntu est sudo apt install python3-pip. Sur Fedora et RHEL, c’est sudo dnf install python3-pip. Ces versions sont patchées pour cohabiter avec le gestionnaire de paquets du système.
Quand get-pip.py reste pertinent
get-pip.py garde son utilité dans deux cas précis :
- Un Python compilé manuellement depuis les sources (python3 installé dans /usr/local ou /opt) qui n’est pas géré par apt ou dnf, et donc ne dispose pas de pip par défaut
- Un environnement virtuel créé avec python3 -m venv mais dont le pip embarqué est absent ou corrompu, ce qui arrive parfois sur des images Docker minimalistes
Dans ces situations, curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py suivi de python3 get-pip.py installe pip sans interférer avec le système, à condition de viser le bon interpréteur.
Install pip sur Windows et macOS : venv comme réflexe
Sur Windows, l’installateur officiel python.org inclut pip par défaut. La case « Add Python to PATH » cochée lors de l’installation rend pip accessible directement dans le terminal. python -m pip install –upgrade pip met à jour vers la dernière version.
Sur macOS, le Python livré par Apple est progressivement déprécié. Nous recommandons d’installer Python via l’installateur officiel python.org ou via Homebrew (brew install python). Les deux méthodes livrent pip3 fonctionnel.
Le réflexe venv avant toute installation de package
Quel que soit l’OS, créer un environnement virtuel avant d’installer quoi que ce soit évite les conflits de dépendances entre projets. La séquence est toujours la même :
- python3 -m venv mon_env crée un environnement isolé avec son propre pip
- source mon_env/bin/activate (Linux/macOS) ou mon_env\Scripts\activate (Windows) active l’environnement
- pip install nom_du_package installe dans l’environnement sans toucher au système
- pip freeze > requirements.txt fige les versions pour reproduire l’environnement ailleurs
Cette approche rend la question « comment installer pip » presque secondaire : le venv embarque systématiquement sa propre copie de pip, indépendante du système.

pip, pipx ou conda : quel outil pour quel usage
pip installe des bibliothèques Python dans un environnement donné. pipx installe des applications Python en ligne de commande dans des environnements isolés automatiques (black, httpie, cookiecutter). conda gère des environnements complets incluant des dépendances non-Python (bibliothèques C, Fortran, CUDA).
Le choix dépend du contexte :
- Pour un projet applicatif classique, pip dans un venv couvre la grande majorité des besoins
- Pour des outils CLI utilisés globalement sur la machine, pipx évite de polluer l’environnement système
- Pour du calcul scientifique lourd avec des dépendances binaires complexes, conda (ou mamba, son alternative plus rapide) simplifie la résolution de dépendances
Mixer pip et conda dans le même environnement provoque des conflits de résolution de dépendances. Si un projet commence avec conda, nous recommandons de rester dans cet écosystème pour toute la durée de vie du projet.
Diagnostic rapide quand pip ne répond pas
python3 -m pip –version est le premier réflexe. Si la commande échoue, trois causes dominent. Le module ensurepip est absent (fréquent sur les images Docker slim et les Python compilés sans –with-ensurepip=install). La variable PATH ne pointe pas vers le bon interpréteur. Ou bien plusieurs versions de Python coexistent et pip est associé à une version différente de celle attendue.
La commande which python3 (Linux/macOS) ou where python (Windows) identifie quel binaire est appelé. python3 -m ensurepip –upgrade restaure pip sans téléchargement externe, ce qui en fait la méthode la plus fiable en environnement restreint.
Sur les systèmes où ensurepip a été supprimé volontairement (certaines images Debian minimales), il faut d’abord installer le paquet python3-venv ou python3-pip via le gestionnaire de paquets du système avant toute autre tentative.

