I. Aperçu

Dans cet article de blog, nous explorerons comment utiliser pyenv-virtualenv et autoenv ensemble pour un développement Python transparent. Ces outils peuvent vous aider à gérer facilement plusieurs environnements Python et environnements virtuels, améliorant ainsi votre flux de travail de développement.

II. Pyenv-virtualenv

Pyenv-virtualenv est un plugin pour pyenv qui vous permet de créer et de gérer des environnements virtuels pour différentes versions de Python. Il vous aide à garder les dépendances pour différents projets séparées, en veillant à ce que chaque projet ait accès aux packages dont il a besoin sans interférence.

Créer un environnement virtuel

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

pyenv virtualenv <version-python> <nom-environnement-virtuel>

Par exemple, si vous voulez créer un environnement virtuel nommé mon_projet en utilisant Python 3.8.0 :

pyenv virtualenv 3.8.0 mon_projet

Liste des environnements virtuels

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

pyenv virtualenvs

Activation d’un environnement virtuel

Pour activer un environnement virtuel, utilisez la commande suivante :

pyenv activate <nom-environnement-virtuel>

Par exemple :

pyenv activate my_project

Désactivation d’un environnement virtuel

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

pyenv deactivate

III. Autoenv

Autoenv est un outil qui active automatiquement un environnement virtuel lorsque vous entrez dans un répertoire contenant un fichier .env. Cela facilite le changement de projet sans avoir à se rappeler d’activer et de désactiver manuellement les environnements virtuels.

Configuration d’Autoenv

Pour utiliser autoenv, vous devez créer un fichier .env dans le répertoire racine de votre projet. Ce fichier contiendra les commandes qui doivent être exécutées lorsque vous entrez dans le répertoire.

Par exemple, disons que vous avez un projet situé dans ~/projets/mon_projet et que vous voulez utiliser l’environnement virtuel mon_projet créé précédemment. Créez un fichier .env dans le répertoire ~/projets/mon_projet avec le contenu suivant :

source $(pyenv root)/versions/mon_projet/bin/activate

Utilisation d’Autoenv

Maintenant, lorsque vous naviguez dans le répertoire de votre projet, autoenv activera automatiquement l’environnement virtuel mon_projet pour vous :

cd ~/projets/mon_projet

Vous devriez voir un message indiquant que l’environnement virtuel a été activé :

autoenv: Activating environment . . .
(mon_projet) $

Lorsque vous quittez le répertoire du projet, l’environnement virtuel sera automatiquement désactivé :

cd ~

Vous devriez voir un message indiquant que l’environnement virtuel a été désactivé :

autoenv: Deactivating environment . . .
$

IV. Conclusion

En combinant pyenv-virtualenv et autoenv, vous pouvez créer un flux de travail de développement transparent pour gérer plusieurs projets Python. Cette approche garantit que vous utilisez toujours le bon environnement virtuel pour chaque projet, tout en gardant vos dépendances séparées et organisées.