Pipx facilite l'installation des outils Python
Mise à jour :
Si tu utilises régulièrement Python,
tu as sûrement déjà installé des outils en ligne de commande avec pip
. Mais
as-tu remarqué que certains conflits peuvent apparaître entre les dépendances de
tes projets ? C’est là que Pipx intervient ! Pipx permet d’installer et exécuter
des applications Python dans des environnements isolés, sans toucher à ton
installation globale. Plus besoin de jongler avec des virtualenv ou de polluer
ton système : chaque outil est autonome et facile à gérer.
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é
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 tu fais :
sudo pip install requests
Tu risques de remplacer la version installée par apt
, et ton système peut ne
plus fonctionner correctement.
Utiliser son compte utilisateur : des problèmes en perspective
Si tu installes des outils sans sudo avec pip install --user
, tu peux
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 ton .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-name
Désinstaller la version root et réinstaller proprement avec pipx
ou pip install --user
.
Que propose Pipx pour éviter ces problèmes ?
Tu as 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 tu installes un outil avec Pipx, il crée automatiquement un
environnement virtuel indépendant. Contrairement à pip install --user
, qui
installe les paquets dans ton répertoire utilisateur, Pipx les place chacun
dans leur propre dossier.
pipx install black
Ce 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écuterblack
sans activer manuellement le venv.
Ainsi, chaque outil tourne dans un environnement isolé, sans interférer avec les autres.
Comment installer Pipx ?
L’installation de Pipx est simple et rapide, mais elle varie selon ton système d’exploitation. Que tu sois sur Linux, macOS ou Windows, je vais te guider pas à pas pour mettre en place Pipx proprement.
Installer Pipx sous Linux et macOS
- Avec pip (méthode recommandée)
python -m pip install --user pipxpython -m pipx ensurepath/home/bob/.local/bin is already in PATH.
⚠️ All pipx binary directories have been added to PATH. If you are sure you want to proceed, try again with the '--force' flag.
Otherwise pipx is ready to go! ✨ 🌟 ✨
ensurepath
ajoute le dossier ~/.local/bin/
dans le $PATH
, pour que tu
puisses exécuter les outils installés avec Pipx.
- Avec Homebrew
Si tu es sur macOS et que tu utilises Homebrew :
brew install pipxpipx ensurepath
Installer Pipx sous Windows
Dans PowerShell, lance :
python -m pip install --user pipxpython -m pipx ensurepath
Pipx est maintenant installé, mais pense à redémarrer PowerShell pour que les modifications prennent effet.
Vérifier l’installation de Pipx
Peu importe la méthode utilisée, vérifie que Pipx est bien installé en tapant :
pipx --version
Si la commande fonctionne, c’est bon ! Sinon, ton $PATH
n’est peut-être pas
bien configuré.
Utiliser Pipx pour installer et exécuter des outils Python
Maintenant que Pipx est installé, voyons comment l’utiliser efficacement. Avec Pipx, tu peux installer, exécuter et gérer des outils Python en toute simplicité, sans te soucier des conflits de dépendances.
Exécuter un outil temporairement sans l’installer
Si tu veux 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 ton système.
Mais attention : si l’outil est trop volumineux ou si tu l’utilises souvent,
mieux vaut l’installer avec pipx install
.
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 httpie
Vérifions que l’installation a bien fonctionné :
http --version
Si la commande fonctionne, Pipx a bien installé et configuré l’outil ! 🚀
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.com
L’avantage de Pipx : Pas besoin d’activer manuellement un venv, tout est déjà prêt !
Installer une version spécifique d’une application
Parfois, tu as besoin d’une version particulière d’un outil. Pipx permet
d’installer une version précise avec ==
:
pipx install poetry==1.3.2
Très utile si une nouvelle version introduit un bug et que tu veux revenir en arrière.
Gérer les applications installées avec Pipx
Pipx propose plusieurs commandes pour gérer les outils installés.
Lister les applications installées
pipx list
Cela affiche tous les outils gérés par Pipx et leur emplacement.
Mettre à jour une application
pipx upgrade <nom_du_paquet>
Exemple : Mettre à jour poetry
pipx upgrade poetry
Cela met à jour Poetry sans affecter les autres outils.
Mettre à jour toutes les applications d’un coup
pipx upgrade-all
Utile pour garder tous tes outils à jour !
Désinstaller une application
pipx uninstall <nom_du_paquet>
Exemple : Supprimer black
pipx uninstall black
Cela supprime entièrement l’outil et son environnement virtuel.
Réinstaller un outil proprement
Si un outil est corrompu ou ne fonctionne plus bien, tu peux 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
Certains outils nécessitent des modules supplémentaires pour fonctionner
correctement. Plutôt que d’utiliser pip
, tu peux injecter des dépendances
directement dans l’environnement de l’application :
Exemple : Ajouter requests
à un outil installé avec Pipx
pipx inject httpie requests
Cela installe requests
dans l’environnement virtuel de mytool
, sans
affecter le reste du système.
Pour voir les dépendances injectées, utilise :
pipx list
Changer la version de Python utilisée par une application**
Par défaut, Pipx utilise la version de Python installée sur ton système. Mais si un outil nécessite une version spécifique, tu peux lui dire d’utiliser une autre version de Python.
Exemple : Installer Poetry avec Python 3.10
pipx install --python /usr/bin/python3.10 poetry
Si ton outil est déjà installé et que tu veux changer sa version de Python installé avec pyenv :
pipx reinstall-all --python /usr/bin/python3.10
Cela réinstalle toutes les applications Pipx avec la nouvelle version de Python.
Conclusion
Avec Pipx, fini les installations chaotiques et les conflits de dépendances
! Cet outil te permet d’installer, exécuter et gérer proprement tes
applications Python en les isolant dans des environnements dédiés. Plus
besoin de jongler avec pip install --user
ou des virtualenvs manuels.
Que ce soit pour tester rapidement un outil, mettre à jour tes applications ou gérer différentes versions de Python, Pipx est la solution idéale. 🚀
Adopte Pipx et garde un système propre et organisé !