Dans cet article de blog, nous allons discuter de la façon d’utiliser pyenv et pyenv-virtualenv, deux outils puissants qui peuvent vous aider à gérer plusieurs versions de Python et des environnements virtuels avec facilité. Nous allons couvrir les instructions d’installation pour différentes plates-formes, telles que Mac et Linux, et discuter des fonctionnalités les plus couramment utilisées de ces outils. À la fin, vous aurez une compréhension solide de la façon d’utiliser ces outils efficacement dans votre flux de travail de développement.

I. Vue d’ensemble

pyenv est un outil puissant de gestion de versions pour Python, vous permettant d’installer et de basculer entre plusieurs versions de Python avec facilité. pyenv-virtualenv est une extension de pyenv qui vous permet de gérer plusieurs environnements virtuels. Ces outils sont particulièrement utiles lorsque vous travaillez sur plusieurs projets avec différentes dépendances et versions de Python.

II. Installation

Mac

Pour installer pyenv et pyenv-virtualenv sur macOS, vous pouvez utiliser Homebrew :

brew update
brew install pyenv
brew install pyenv-virtualenv

Après l’installation, ajoutez les lignes suivantes à votre fichier de configuration de shell (.bashrc, .zshrc, etc.) :

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
if command -v pyenv-virtualenv-init 1>/dev/null 2>&1; then
  eval "$(pyenv virtualenv-init -)"
fi

Linux

Pour installer pyenv et pyenv-virtualenv sur Linux, clonez d’abord les référentiels et ajoutez-les à votre PATH :

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Ensuite, ajoutez les lignes suivantes à votre fichier de configuration de shell (.bashrc, .zshrc, etc.) :

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

III. Utilisation

1. Installer une version de Python

Pour installer une version spécifique de Python, utilisez la commande install :

pyenv install 3.9.5

2. Afficher toutes les versions disponibles de Python

Pour voir toutes les versions de Python installées, utilisez la commande versions :

pyenv versions

3. Définir la version globale de Python

Pour définir la version globale de Python, utilisez la commande global :

pyenv global 3.9.5

4. Définir la version locale de Python

Pour définir la version locale de Python pour un projet spécifique, utilisez la commande local dans le répertoire du projet :

pyenv local 3.8.10

5. Vérifier la version actuelle de Python

Pour vérifier la version actuelle de Python, utilisez la commande version :

pyenv version

6. Créer un environnement virtuel

Pour créer un nouvel environnement virtuel avec pyenv-virtualenv, utilisez la commande virtualenv :

pyenv virtualenv 3.9.5 my-project-env

7. Activer un environnement virtuel

Pour activer un environnement virtuel, utilisez la commande activate :

pyenv activate my-project-env

8. Désactiver un environnement virtuel

Pour désactiver l’environnement virtuel actuel, utilisez la commande deactivate :

pyenv deactivate

9. Afficher tous les environnements virtuels disponibles

Pour afficher tous les environnements virtuels que vous avez créés, utilisez la commande virtualenvs :

pyenv virtualenvs

10. Supprimer un environnement virtuel

Pour supprimer un environnement virtuel, utilisez la commande uninstall :

pyenv uninstall my-project-env

Bonus: Rehash

Chaque fois que vous installez un nouveau package Python avec des scripts exécutables, il est essentiel d’exécuter la commande rehash pour mettre à jour les shims, en veillant à ce que les nouveaux scripts soient disponibles :

pyenv rehash

IV. Conclusion

pyenv et pyenv-virtualenv sont des outils inestimables pour gérer plusieurs versions de Python et des environnements virtuels dans votre flux de travail de développement. Avec les fonctionnalités discutées dans ce guide, vous serez bien équipé pour travailler sur plusieurs projets avec des dépendances et des versions de Python différentes. Adoptez ces outils pour maintenir un environnement de développement propre et organisé, améliorant votre productivité et réduisant le risque de conflits de dépendances.