Environnements virtuels Python, le paradis
Dans cet article, j'expliquerai pourquoi les environnements virtuels Python sont si intéressants lorsqu'on sait les utiliser correctement. Je vous montrerai également comment les utiliser correctement.
De quoi s'agit-il ?
Les environnements virtuels Python sont un moyen d'isoler votre environnement Python de l'environnement Python du système. C'est utile lorsque vous travaillez sur plusieurs projets qui nécessitent différentes versions de Python ou différentes versions du même paquetage.
J'ai souvent entendu dire que les gens avaient peur d'utiliser les environnements virtuels Python parce qu'ils pensaient que c'était compliqué et inutile. Mais en même temps, il y a plus de centaines de paquets Python qui tentent de résoudre le même problème : pyenv, virtualenv, pipenv, conda, poetry, pew, et bien d'autres.
Un peu d'histoire
Revenons aux bases. Il existe un module intégré pour cela : venv
! Qui l'aurait cru ? Il a été introduit pour la première fois dans Python 3.3
avec le PEP 405 - Python Virtual Environments.
Ce PEP propose d'ajouter à Python un mécanisme pour des "environnements virtuels" légers avec leurs propres répertoires de site, éventuellement isolés des répertoires de site du système. Chaque environnement virtuel possède son propre binaire Python (ce qui permet de créer des environnements avec différentes versions de Python) et peut avoir son propre ensemble indépendant de paquets Python installés dans ses répertoires de site, mais partage la bibliothèque standard avec le Python de base installé.
Qu'en est-il de tous ces gens qui tentent de résoudre le même problème ? Eh bien, ils essaient de faciliter l'utilisation et la gestion. Mais au final, ils fournissent tous la même chose : un moyen d'isoler votre environnement Python.
Comment les utiliser correctement ?
Il suffit de connaître 3 commandes pour utiliser les environnements virtuels Python de la bonne manière.
Créer un nouvel environnement virtuel
Cette commande va créer un nouveau répertoire appelé myenv
qui contient un environnement Python. Vous pouvez remplacer myenv
par n'importe quel nom.
Le nom le plus courant est venv
de .venv
. (N'oubliez pas de l'ajouter à votre fichier .gitignore
si vous utilisez git).
Activer l'environnement virtuel
Cette commande activera l'environnement virtuel. Vous pouvez constater que l'invite a changé. Elle contient désormais le nom de l'environnement virtuel en début de ligne.
Vous pouvez vérifier les binaires Python utilisés par l'environnement virtuel à l'aide de la commande suivante.
Désactiver l'environnement virtuel
Cette commande désactive l'environnement virtuel. Vous êtes maintenant de retour dans l'environnement Python du système.
Et maintenant ?
Maintenant que vous savez comment utiliser les environnements virtuels Python, vous pouvez les utiliser dans vos projets.
Dans ma routine, lorsque je démarre un nouveau projet ou que je travaille sur un projet existant, la première chose que je fais est de créer un nouvel environnement virtuel. Ensuite, je l'active et j'installe les paquets nécessaires.
Cela me permet de travailler sur plusieurs projets qui nécessitent différentes versions de Python ou différentes versions du même paquetage sans aucun conflit. Sans cette technique, je devrais faire face à de nombreux conflits et je devrais désinstaller et réinstaller les paquets en permanence.
Conclusion
Les environnements virtuels Python sont un excellent moyen d'isoler votre environnement Python de l'environnement Python du système. Ils sont faciles à utiliser et très utiles lorsque vous travaillez sur plusieurs projets qui nécessitent différentes versions de Python ou différentes versions d'un même paquetage. Vous devriez les utiliser dans vos projets. Vous gagnerez beaucoup de temps et vous vous épargnerez bien des maux de tête.
N'oubliez pas que Python fournit déjà un module intégré pour créer des environnements virtuels. Vous n'avez pas besoin d'utiliser un paquetage tiers pour le faire. Faites confiance à Python, pas à un paquet que vous avez trouvé au hasard sur Internet