Comment créer et utiliser un environnement virtuel en Python ?
En Python, la gestion des dépendances peut vite devenir un casse-tête.
Différents projets peuvent avoir besoin de versions différentes des mêmes bibliothèques.
C’est important de pouvoir les isoler les uns des autres pour éviter les conflits et d’avoir plein de packages inutiles sur votre machine.
C’est là que les environnements virtuels entrent en jeu.
Les environnements virtuels permettent de segmenter les projets avec une version spécifique de Python et des des bibliothèques installées uniquement pour le projet. On peut les créer avec une commande native à Python et installer des packages avec la commande pip.
Pour créer un environnement virtuel avec venv
, on fait :
python -m venv <votre_environnement_virtuel>
Et pour activer un environnement virtuel sur Windows Mac, les OS bases sur UNIX :
## Sur Windows :
source chemin_vers_votre_venv\Scripts\activate
## Sur Mac ou Linux :
source chemin_vers_votre_venv/activate
Pour avoir une explication plus détaillée en video en moins d’une minute :
Voyons plus en detail comment utiliser les environnements virtuels en Python.
Qu’est-ce qu’un environnement virtuel ?
Un environnement virtuel est un espace isolé qui contient son propre interpréteur Python et ses propres modules. Il est indépendant de l’installation Python système et des autres environnements virtuels.
Ils permettent donc de garantir que chaque projet dispose des dépendances dont il a besoin et rien de plus, sans affecter les autres projets.
Créer un environnement virtuel avec venv
Le module venv
est inclus dans la bibliothèque standard de Python depuis la version 3.3. Il permet de créer et de gérer des environnements virtuels de manière simple et efficace.
Pour créer un environnement virtuel, on utilise la commande suivante :
python -m venv mon_env
En remplaçant mon_env
par le nom de votre environnement virtuel.
Comment activer un environnement virtuel ?
L’activation de l’environnement virtuel se fait légèrement différemment selon votre système d’exploitation.
Sur macOS et Linux, on utilise :
source mon_env/bin/activate
Alors que sur Windows, on fait :
source mon_env\Scripts\activate
Une fois activé, tout ce que vous installez via pip sera limité à cet environnement, sans affecter le reste de votre système.
Vous remarquerez que le nom de l’environnement s’affiche dans le terminal si vous avez un theme intelligent.
C’est votre indicateur pour voir que vous travaillez à l’intérieur d’un environnement virtuel.
Comment installer des packages dans un environnement virtuel ?
Une fois l’environnement virtuel activé, vous pouvez installer des packages comme vous le feriez habituellement, en utilisant la commande pip
:
pip install nom_de_la_bibliothèque_python
Les packages installés dans l’environnement virtuel seront isolés des autres environnements virtuels et de l’installation Python système.
Comment désactiver un environnement virtuel ?
Pour désactiver un environnement virtuel, vous pouvez soit quitter le shell dans lequel il a été activé ou taper deactivate
dans le terminal qui a le venv actif.
La commande deactivate
vous ramène à l’environnement global de votre système, où vous pouvez continuer à travailler comme d’habitude.
Pourquoi utiliser des environnements virtuels ?
Imaginez un scénario où vous installez toutes vos bibliothèques Python directement sur votre machine.
Avec le temps, vous vous retrouvez avec une multitude de bibliothèques dont vous ne vous servez plus.
Quel bordel.
Aussi, suivre quelles bibliothèques ont ete installées ou pour chaque projet peut devenir un casse-tête.
Et parfois, on a besoin d’une version spécifique de certains package Python pour recréer un projet qui fonctionne correctement.
C’est là qu’interviennent les environnements virtuels.
Ils permettent d’installer uniquement les packages requis pour un projet donné, facilitant ainsi grandement la gestion des dépendances.
En plus, si votre projet nécessite différentes versions de Python, les environnements virtuels vous permettent de travailler sur plusieurs projets sans problèmes de conflit.
Donc les environnements virtuels permettent notamment :
- Isoler les dépendances: Chaque projet dispose de ses propres dépendances, on évite donc les conflits et on peut mieux garantir que ça fonctionnera quand on partage le projet.
- Mieux gérer les versions: On peut installer différentes versions de la même bibliothèque dans différents environnements virtuels donc plus de problèmes de changements d’API si le package est mis a jour.
- Environnement de développement propre: Chaque projet peut avoir son propre environnement de développement, avec ses propres configurations et ses propres outils, ça sauve votre machine d’avoir 1 million de projets inutiles d’installés.
Les environnements virtuels en Python : conclusion
Et voila, vous savez comment utiliser les environnements virtuels en Python !
Les environnements virtuels offrent une solution élégante aux problèmes de gestion des dépendances en Python.
Ils simplifient le développement et la collaboration en s’assurant que tous les développeurs travaillent dans un environnement identique et contrôlé.
Si vous n’avez pas encore adopté les environnements virtuels dans votre flux de travail Python, je vous encourage vivement à les essayer.
Vous vous demanderez comment vous avez pu vous en passer !
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.