
pipx installe et exécute des applications Python en ligne de commande (comme black, httpie ou poetry) dans des environnements virtuels isolés, un par outil, sans toucher à votre installation globale. Chaque outil est autonome : plus de conflits de dépendances entre vos projets, plus de pip install --user qui pollue le système.
Ce guide, pour développeurs débutants et intermédiaires, montre pourquoi installer des outils avec pip global pose problème, comment installer pipx et l'utiliser au quotidien.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre les risques de
sudo pip installetpip install --user - Installer pipx sous Linux, macOS et Windows
- Installer, exécuter et gérer des outils Python isolés
- Exécuter un outil sans l'installer avec
pipx run - Injecter des dépendances et choisir la version de Python d'un outil
- Isoler pour la sécurité : garder chaque outil dans son bac à sable
Pourquoi tout installer avec pip est une mauvaise idée ?
Section intitulée « Pourquoi tout installer avec pip est une mauvaise idée ? »L’installation des outils Python, comme Ansible, peut parfois tourner au cauchemar, surtout quand on jongle entre l’installation avec le compte root et celles faite avec son propre compte utilisateur. Mauvais droits, conflits de dépendances, accès refusés… Voyons les principaux problèmes et comment les éviter.
Utiliser le compte root : risqué et déconseillé
Section intitulée « Utiliser le compte root : risqué et déconseillé »Quand on utilise sudo pip install pour installer un outil Python au niveau
système, on peut se retrouver avec :
Un accès global à l’outil pour tous les utilisateurs. Des risques de
conflits avec d’autres paquets installés par le gestionnaire de paquets du
système d'exploitation. Un risque de casser Python : si un package système
dépend d’une version spécifique d’un module et qu’on le met à jour avec pip,
il peut devenir inutilisable.
Par exemple si vous faites :
sudo pip install requestsVous risquez de remplacer la version installée par apt et votre système peut ne
plus fonctionner correctement.
Utiliser son compte utilisateur : des problèmes en perspective
Section intitulée « Utiliser son compte utilisateur : des problèmes en perspective »Si vous installez des outils sans sudo avec pip install --user, vous pouvez
rencontrer d’autres problèmes :
Le binaire n’est pas dans le PATH : Après installation, l’outil peut être
introuvable car ~/.local/bin/ (sous Linux/macOS) ou
%APPDATA%\Python\Scripts\ (sous Windows) n’est pas dans le $PATH.
Solution : Ajouter ~/.local/bin dans votre .bashrc :
export PATH="$HOME/.local/bin:$PATH"Impossible d’écraser une version installée en root : Si un outil a déjà été
installé avec sudo pip install, la version utilisateur ne pourra pas la
remplacer. Résultat : pip dit que tout est OK, mais l’ancien binaire est
toujours utilisé.
Solution : Vérifier où est installé l’outil avec :
which tool-nameDésinstaller la version root et réinstaller proprement avec pipx ou pip install --user.
Que propose Pipx pour éviter ces problèmes ?
Section intitulée « Que propose Pipx pour éviter ces problèmes ? »Vous avez peut-être déjà utilisé pip pour installer des outils Python, mais
Pipx fonctionne différemment. Son but ? Isoler chaque application dans
un environnement dédié pour éviter les conflits de dépendances. Voyons en détail
comment ça marche.
Quand vous installez un outil avec Pipx, il crée automatiquement un
environnement virtuel indépendant. Contrairement à pip install --user, qui
installe les paquets dans votre répertoire utilisateur, Pipx les place chacun
dans leur propre dossier.
pipx install blackCe qu’il se passe en coulisses :
- Création d’un environnement virtuel :
- Le dossier
~/.local/pipx/venvs/black/est créé (Linux/macOS). - Sur Windows, ça ira dans
%APPDATA%\pipx\venvs\black\.
- Le dossier
- Installation de l’outil dans cet environnement avec
pip. - Ajout d’un lien symbolique dans
~/.local/bin/(ou%APPDATA%\Python\Scripts\sous Windows) pour exécuterblacksans activer manuellement le venv.
Ainsi, chaque outil tourne dans un environnement isolé, sans interférer avec les autres.
Comment installer Pipx ?
Section intitulée « Comment installer Pipx ? »L’installation de Pipx est simple et rapide, mais elle varie selon votre système d’exploitation. Que vous soyez sur Linux, macOS ou Windows, ce guide vous accompagne pas à pas pour mettre en place Pipx proprement.
Installer Pipx sous Linux et macOS
Section intitulée « Installer Pipx sous Linux et macOS »- Avec pip (méthode recommandée)
python -m pip install --user pipxpython -m pipx ensurepath# Sortie : le dossier des binaires pipx est ajouté au PATH.# pipx est prêt à l'emploi.ensurepath ajoute le dossier ~/.local/bin/ dans le $PATH, pour que vous
puissiez exécuter les outils installés avec Pipx.
- Avec Homebrew
Si vous êtes sur macOS et que vous utilisez Homebrew :
brew install pipxpipx ensurepathInstaller Pipx sous Windows
Section intitulée « Installer Pipx sous Windows »Dans PowerShell, lancez :
python -m pip install --user pipxpython -m pipx ensurepathPipx est maintenant installé, mais pensez à redémarrer PowerShell pour que les modifications prennent effet.
Vérifier l’installation de Pipx
Section intitulée « Vérifier l’installation de Pipx »Peu importe la méthode utilisée, vérifiez que pipx est bien installé en tapant :
pipx --versionSi la commande fonctionne, c’est bon ! Sinon, votre $PATH n’est peut-être pas
bien configuré.
Utiliser Pipx pour installer et exécuter des outils Python
Section intitulée « Utiliser Pipx pour installer et exécuter des outils Python »Maintenant que Pipx est installé, voyons comment l’utiliser efficacement. Avec Pipx, vous pouvez installer, exécuter et gérer des outils Python en toute simplicité, sans vous soucier des conflits de dépendances.
Exécuter un outil temporairement sans l’installer
Section intitulée « Exécuter un outil temporairement sans l’installer »Si vous voulez tester un outil sans l’installer définitivement, Pipx permet
de l’exécuter directement avec pipx run :
pipx run cowsay "Hello, Pipx!"L’outil est téléchargé, exécuté, puis supprimé. Parfait pour tester un programme sans encombrer votre système.
Mais attention : si l’outil est trop volumineux ou si vous l’utilisez souvent,
mieux vaut l’installer avec pipx install.
Installer une application avec Pipx
Section intitulée « Installer une application avec Pipx »La commande de base pour installer un outil est :
pipx install <nom_du_paquet>Exemple : Installer l’outil httpie
pipx install httpieVérifions que l’installation a bien fonctionné :
http --versionSi la commande fonctionne, Pipx a bien installé et configuré l’outil !
Exécuter une application installée avec pipx
Section intitulée « Exécuter une application installée avec pipx »Une fois installée, une application peut être exécutée normalement depuis le terminal, comme n’importe quelle commande.
Exemple : Utiliser httpie pour tester une API
http https://api.github.comL’avantage de Pipx : Pas besoin d’activer manuellement un venv, tout est déjà prêt !
Installer une version spécifique d’une application
Section intitulée « Installer une version spécifique d’une application »Parfois, vous avez besoin d’une version particulière d’un outil. Pipx permet
d’installer une version précise avec == :
pipx install poetry==1.3.2Très utile si une nouvelle version introduit un bug et que vous voulez revenir en arrière.
Gérer les applications installées avec Pipx
Section intitulée « Gérer les applications installées avec Pipx »Pipx propose plusieurs commandes pour gérer les outils installés.
Lister les applications installées
Section intitulée « Lister les applications installées »pipx listCela affiche tous les outils gérés par Pipx et leur emplacement.
Mettre à jour une application
Section intitulée « Mettre à jour une application »pipx upgrade <nom_du_paquet>Exemple : Mettre à jour poetry
pipx upgrade poetryCela met à jour Poetry sans affecter les autres outils.
Mettre à jour toutes les applications d’un coup
Section intitulée « Mettre à jour toutes les applications d’un coup »pipx upgrade-allUtile pour garder tous vos outils à jour !
Désinstaller une application
Section intitulée « Désinstaller une application »pipx uninstall <nom_du_paquet>Exemple : Supprimer black
pipx uninstall blackCela supprime entièrement l’outil et son environnement virtuel.
Réinstaller un outil proprement
Section intitulée « Réinstaller un outil proprement »Si un outil est corrompu ou ne fonctionne plus bien, vous pouvez le réinstaller :
pipx reinstall <nom_du_paquet>Cela supprime l’installation existante et réinstalle proprement l’outil.
Ajouter des dépendances supplémentaires à une application
Section intitulée « Ajouter des dépendances supplémentaires à une application »Certains outils nécessitent des modules supplémentaires pour fonctionner
correctement. Plutôt que d’utiliser pip, vous pouvez injecter des dépendances
directement dans l’environnement de l’application :
Exemple : Ajouter requests à un outil installé avec Pipx
pipx inject httpie requestsCela installe requests dans l’environnement virtuel de mytool, sans
affecter le reste du système.
Pour voir les dépendances injectées, utilise :
pipx listChanger la version de Python d'une application
Section intitulée « Changer la version de Python d'une application »Par défaut, Pipx utilise la version de Python installée sur votre système. Mais si un outil nécessite une version spécifique, vous pouvez lui dire d’utiliser une autre version de Python.
Exemple : Installer Poetry avec Python 3.10
pipx install --python /usr/bin/python3.10 poetrySi votre outil est déjà installé et que vous voulez changer sa version de Python installé avec pyenv :
pipx reinstall-all --python /usr/bin/python3.10Cela réinstalle toutes les applications Pipx avec la nouvelle version de Python.
Sécurité et supply chain
Section intitulée « Sécurité et supply chain »L'isolation de pipx est aussi une mesure de sécurité : un outil compromis reste cantonné à son environnement, sans accès aux dépendances de vos projets ni au Python système. C'est nettement plus sûr qu'un sudo pip install qui installe en global avec les droits root.
À retenir
Section intitulée « À retenir »- pipx installe chaque outil CLI dans son propre environnement virtuel, avec un lien dans le
PATH: zéro conflit de dépendances. pipx install <outil>installe durablement ;pipx run <outil>exécute une fois sans installer.- N'installez jamais un outil CLI avec
sudo pip install: risque de casser le Python système. - Gérez avec
pipx list,pipx upgrade,pipx upgrade-all,pipx uninstall,pipx reinstall. pipx inject <outil> <paquet>ajoute une dépendance dans l'environnement d'un outil ;--pythonchoisit la version de Python.- Sécurité : l'isolation cantonne un outil compromis ;
pipx runexécute du code distant, réservez-le aux outils de confiance.
FAQ : questions fréquentes
Section intitulée « FAQ : questions fréquentes »Les réponses courtes ci-dessous couvrent les questions les plus recherchées sur pipx.
black, httpie, poetry) dans un environnement virtuel isolé, un par outil.pipx install black # black tourne dans son propre venv
Contrairement à pip, chaque outil est cloisonné : pas de conflit de dépendances entre outils, et aucune pollution du Python système ni de vos projets.pipinstalle des bibliothèques dans un environnement (souvent partagé) : idéal pour les dépendances d'un projet.pipxest dédié aux applications en ligne de commande : un environnement isolé par outil, exposé dans lePATH.
pip pour ce que votre code importe, pipx pour les outils CLI que vous lancez au terminal (linters, formateurs, générateurs).# Linux / Windows
python -m pip install --user pipx
python -m pipx ensurepath
# macOS (Homebrew)
brew install pipx
pipx ensurepath
ensurepath ajoute le dossier des binaires pipx au PATH. Vérifiez avec pipx --version (redémarrez le terminal si la commande n'est pas trouvée).pipx install httpie # installe durablement, ajoute au PATH
pipx run cowsay "Bonjour" # exécute une fois, sans installer
install: pour un outil que vous utilisez régulièrement.run: pour un test ponctuel, sans encombrer le système (l'outil est mis en cache pour les fois suivantes).
pipx run exécute du code distant, réservez-le aux outils de confiance.pipx upgrade poetry # un seul outil
pipx upgrade-all # tous les outils gérés par pipx
Si un outil est corrompu, repartez d'une base propre :pipx reinstall poetry # supprime et réinstalle proprement
pipx list affiche à tout moment les outils installés et leur version.pipx run et uvx font la même chose : exécuter un outil Python en ligne de commande dans un environnement isolé, sans installation globale.pipx run ruff check .
uvx ruff check . # équivalent, via uv
uvx fait partie de uv (écrit en Rust) et est nettement plus rapide grâce à son cache. pipx est l'outil historique, mature et très répandu. Les deux coexistent sans souci.