Python est l’un des langages de programmation les plus polyvalents et les plus populaires. Avec un large éventail d’applications, des services web au développement de jeux en passant par la data-science, Python s’est imposé et continu de conquérir de nouveaux marchés. Cependant, la gestion de multiples versions de Python sur une même machine peut être une tâche délicate. C’est là que pyenv
entre en jeu. Dans cet article, nous explorerons pourquoi utiliser pyenv
peut significativement améliorer votre expérience de développement en Python.
Qu’est-ce que pyenv ?
Pyenv est un outil de gestion de version Python qui permet aux développeurs d’installer plusieurs versions de Python sur une seule machine et de basculer facilement entre elles. En fournissant un environnement isolé pour chaque projet, pyenv résout de nombreux problèmes couramment associés à la gestion de versions.
Pourquoi utiliser pyenv ?
Cas d’Utilisation
Imaginons que vous soyez un développeur travaillant sur deux projets différents : l’un nécessite Python 3.8 pour sa compatibilité avec une bibliothèque spécifique, tandis que l’autre utilise les fonctionnalités disponibles uniquement dans Python 3.9. Avec pyenv, vous pouvez installer les deux versions côte à côte et configurer chaque projet pour utiliser la version appropriée, sans jamais perturber l’environnement système global.
Simplification de la Gestion des Versions
Il n’est pas rare de travailler sur plusieurs projets nécessitant différentes versions de Python. Utiliser la version système de Python peut entraîner des conflits de dépendances ou des incompatibilités. Avec pyenv, chaque projet peut avoir sa propre version de Python, éliminant ainsi les risques de conflits.
Facilité d’Installation
Installer une nouvelle version de Python avec pyenv se résume à exécuter une seule commande. Vous n’avez pas besoin de vous soucier des dépendances système ou des configurations complexes. Tout est pris en charge automatiquement.
Flexibilité et Isolation
Pyenv vous permet non seulement de gérer plusieurs versions de Python, mais aussi de définir une version par défaut pour votre système, une version globale pour tous vos projets, et même une version spécifique à un répertoire de projet donné. Cela vous donne une flexibilité et une granularité d’isolation très fine dans la gestion de vos environnements de développement.
Intégration avec des Outils de Développement
Pyenv s’intègre parfaitement avec d’autres outils de développement comme pipenv ou virtualenv, ce qui rend la gestion de packages et de dépendances un jeu d’enfant.
Portabilité
Un fichier .python-version dans le répertoire de votre projet permet de spécifier la version de Python requise. Ce fichier peut être inclus dans votre dépôt de code, garantissant que tous les membres de votre équipe utilisent la même version de Python.
Installer pyenv
Installation sur Windows
Pré-requis
- Windows 10
- PowerShell
Étapes
Installer Windows Subsystem for Linux (WSL): Ouvrez PowerShell en tant qu’administrateur et exécutez la commande suivante :
wsl --install
Installer Ubuntu depuis le Microsoft Store: Après le redémarrage de votre machine, Installez Ubuntu depuis le Microsoft Store.
Installer les dépendances nécessaires:
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
Installer Pyenv:
curl https://pyenv.run | bash
Ajouter Pyenv à $PATH: Ajoutez les lignes suivantes à votre fichier ~/.bashrc :
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
Installation sur Linux Ubuntu
Pré-requis
Ubuntu 18.04 ou supérieur
Étapes
Installer les dépendances:
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
Installation sur MacOS
Pré-requis
- MacOS 10.15 ou supérieur
- Homebrew
Étapes
Installer les dépendances avec Homebrew:
brew install openssl readline sqlite3 xz zlib
Installer Pyenv via Homebrew:
brew install pyenv
Ajouter Pyenv à $PATH: Ajoutez la ligne suivante à votre fichier ~/.zshrc:
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init --path)"
fi
Utiliser pyenv pour installer Python
Pyenv vous permet non seulement de gérer plusieurs versions de Python, mais aussi de définir une version par défaut pour votre système, une version globale pour tous vos projets, et même une version spécifique à un répertoire de projet donné. Cela vous donne un niveau de flexibilité et d’isolation sans précédent dans la gestion de vos environnements de développement.
Dans le chapitre suivant, vous trouverez les commandes pour gérer Python.
Commandes pyenv de base pour gérer plusieurs versions de Python
Lister les versions de Python déjà installées sur le système :
pyenv versions
Lister les versions de Python disponibles à l’installation :
pyenv install --list
Installer une version de Python donnée, par exemple 3.11.5 :
pyenv install -v 3.11.5
Définir la version 3.11.5 comme version par défaut pour le système :
pyenv global 3.11.5
Définir la version 3.11.5 comme version de développement pour le projet courant :
pyenv local 3.11.5
Supprimer une version de Python :
pyenv uninstall 3.11.4 # en supposant que cette version est installée sur votre système
Une seule commande pour les retenir toutes :
pyenv commands