Gérer plusieurs versions de Python avec pyenv

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.

Pyenv versions management
Pyenv versions management

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.