Comment créer un environnement virtuel Python
Python est connu pour sa facilité d’apprentissage, sa syntaxe naturelle et sa grande polyvalence. Cela en fait un choix populaire pour les projets d’automatisation à grande échelle qui évoluent au fil du temps. La création d’environnements virtuels Python est un secret essentiel pour exploiter cette polyvalence.
Un environnement virtuel offre un espace autonome, isolé des autres projets, dans lequel vous pouvez exécuter des versions spécifiques de l’interpréteur, du code et des bibliothèques Python. Cette fonctionnalité est intégrée. Mais comment les activer, les créer et les exécuter ?
Dans cet article, nous examinerons plus en détail ces environnements virtuels Python et fournirons un guide étape par étape pour les créer.
Sommaire
Qu’est-ce qu’un environnement virtuel en Python ?
Un environnement virtuel, ou virtualenv, est un environnement de développement entièrement autonome, doté de son propre interpréteur Python, de ses bibliothèques et des dépendances nécessaires. Il s’agit d’une “mini” installation Python distincte, complètement isolée de l’installation Python générale et des autres environnements virtuels que vous possédez.
Les environnements virtuels sont particulièrement utiles lorsque vous devez travailler sur plusieurs projets ou plusieurs versions d’un même projet sans provoquer de conflits ou de retards.
Par exemple, supposons que vous ayez besoin de déboguer un bogue de production critique qui utilise une ancienne version de Python et des bibliothèques spécifiques. Vous pouvez créer un nouvel environnement virtuel pour recréer cette configuration exacte sans affecter votre installation principale de Python ou d’autres projets.
Cette configuration présente plusieurs avantages :
- Gain de temps. Il n’est pas nécessaire de désinstaller et de réinstaller différentes versions de Python sur votre système pour tester des scénarios spécifiques ou de nouveaux outils.
- Pas de conflits. Comme chaque environnement virtuel est autonome, vous évitez les conflits qui pourraient survenir entre les bibliothèques spécifiques à un projet et les installations à l’échelle du système.
- Configuration de développement propre. Un problème dans un environnement n’affectera pas les autres projets.
- Polyvalence des versions. Vous pouvez travailler simultanément avec plusieurs versions et bibliothèques Python.
- Débogage plus facile. Il est plus facile de reproduire et de corriger les bogues, car vous pourrez construire des répliques exactes des environnements de production sur votre machine de test.

Comment créer un environnement virtuel Python
Maintenant que nous savons ce qu’est un environnement virtuel, voyons comment en créer un. Notez qu’il existe plusieurs façons de créer un environnement virtuel :
- Le module venv.
- Le package virtualenv.
- Via des gestionnaires de paquets comme conda.
Dans ce tutoriel, nous utiliserons venv, car il est simple et offre un contrôle granulaire sur la configuration de l’environnement virtuel.
Pour le système d’exploitation, nous utiliserons un serveur Ubuntu. Par conséquent, les commandes présentées dans ce tutoriel ne fonctionneront que pour Ubuntu et devront peut-être être adaptées à d’autres distributions Linux ou systèmes d’exploitation.
1. Obtenir un VPS pour votre environnement virtuel
Tout d’abord, vous aurez besoin d’un serveur privé virtuel (VPS) pour faire fonctionner votre environnement virtuel. Veillez à choisir un service d’hébergement VPS fiable, sécurisé et évolutif afin qu’il soit facile de créer et de gérer plusieurs environnements virtuels à long terme.
Chez Hostinger, nous proposons un service d’hébergement VPS avec un modèle de tarification flexible, un ensemble de fonctionnalités étendu, des sauvegardes automatisées gratuites et une garantie satisfait ou remboursé de 30 jours.
2. Configurer votre serveur privé virtuel
Connectez-vous à votre VPS et configurez-le selon vos besoins. Par exemple, vous pouvez mettre à jour le VPS, créer des utilisateurs pour vous et vos collègues, configurer un pare-feu et d’autres contrôles de sécurité, ainsi que consulter les référentiels de code source requis.
3. Connectez-vous à votre VPS
Après avoir configuré votre VPS, vous êtes prêt à y accéder par SSH. SSH (Secure Shell) est un protocole de communication sécurisé permettant d’accéder à distance à des serveurs et de les gérer. Vous pouvez utiliser PuTTY, un client SSH, pour vous connecter en SSH à votre VPS.
4. Installer Python
Ensuite, installez Python sur votre VPS en exécutant la commande suivante :
sudo apt install python3
Puis, il faut installer pip, car il sera utilisé pour récupérer les paquets nécessaires :
sudo apt install python3-pip
5. Créer votre premier environnement virtuel
Pour créer votre premier environnement virtuel pour Python, vous aurez besoin du module venv. Si vous utilisez Python 3.3 ou plus, le module venv est inclus dans la bibliothèque standard, il n’est donc pas nécessaire de l’installer séparément.
Commencez par vérifier votre version de Python en exécutant cette commande :
python3 --version
Si vous êtes sur une version inférieure à 3.3, vous pouvez installer le module en exécutant cette commande :
sudo apt install python3-venv
N’oubliez pas que si vous utilisez la version 3.3 ou une version plus récente, vous n’avez pas besoin d’exécuter la commande ci-dessus. Quoi qu’il en soit, vous devriez maintenant être prêt à initialiser l’environnement virtuel.
Créez un nouveau répertoire d’environnement virtuel et naviguez à l’intérieur comme suit :
mkdir myproject
cd myproject
Exécutez ensuite la commande suivante pour créer l’environnement virtuel :
python3 -m venv myenv
Remplacez myenv par votre nom d’environnement préféré.
Après quelques instants, vous devriez voir un nouveau répertoire créé avec le nom de votre environnement virtuel.

6. Activer l’environnement virtuel
Pour activer un environnement virtuel, entrez cette commande :
source myenv/bin/activate
Si vous avez choisi un nom différent pour votre virtualenv, veillez à l’utiliser à la place de myenv dans la commande ci-dessus.
Après avoir exécuté la commande, l’invite de commande affichera le nom de l’environnement virtuel, comme suit :

Cela signifie que l’environnement virtuel a été activé avec succès.
Désactivation et suppression des environnements virtuels
Si vous devez désactiver un environnement virtuel, il vous suffit d’exécuter la commande suivante :
deactivate
Vous devriez voir que l’invite de commande revient à son état initial.

Nous recommandons de supprimer les environnements virtuels lorsqu’ils ne sont plus nécessaires afin de libérer de l’espace disque et d’éviter l’encombrement de votre système. Pour supprimer un environnement virtuel, il suffit de se rendre dans son répertoire parent et d’exécuter la commande suivante :
rm -rf myenv
Cependant, soyez prudent, car la commande ci-dessus supprimera définitivement le répertoire et son contenu sans confirmation.
Gestion d’environnements multiples
L’avantage de la création d’environnements virtuels est la liberté d’en avoir autant que nécessaire sur votre système. Cela signifie que vous pouvez avoir un environnement pour un projet de développement web utilisant Django, un autre pour un projet d’analyse de données utilisant pandas, et encore un autre pour un projet d’apprentissage automatique utilisant TensorFlow.
Vous pouvez créer un nouvel environnement virtuel en utilisant la même commande venv, mais dans un répertoire différent. Par exemple, vous pouvez créer un nouvel environnement virtuel en utilisant la même commande venv, mais dans un répertoire différent :
python3 -m venv myenv2
Vous pouvez activer ce nouvel environnement virtuel de la même manière que nous l’avons fait précédemment :
source myenv2/bin/activate
Pour passer d’un environnement virtuel à l’autre, il suffit de désactiver l’environnement actuel et d’activer l’autre. Les commandes pour effectuer les deux actions resteront les mêmes.
Installation de bibliothèques dans un environnement virtuel
Après avoir créé et activé un venv en Python, vous êtes prêt à y installer des bibliothèques pour obtenir la configuration souhaitée. pip devrait également être pré-installé dans l’environnement, et nous allons maintenant installer les bibliothèques nécessaires.
Par exemple, vous pouvez installer la bibliothèque numpy en exécutant la commande suivante :
pip install numpy
Vous obtiendrez un résultat similaire à celui-ci :

Il est également possible d’installer une version particulière d’une bibliothèque. Par exemple, la commande suivante installe la version 2.25.1 de la bibliothèque requests, ainsi que toutes ses dépendances :
pip install requests==2.25.1
Pour voir la liste des paquets installés, utilisez cette commande :
pip list
Attendez-vous à voir numpy, requests, et leurs dépendances dans la sortie :

Installation de bibliothèques via un fichier d’exigences
Si votre projet utilise plusieurs bibliothèques, vous pouvez également créer un fichier d’exigences qui spécifie la liste des bibliothèques ainsi que leurs versions nécessaires. Voici un exemple de fichier requirements.txt :
# General libraries
requests>=2.25.1
beautifulsoup4>=4.9.3
matplotlib>=3.4.2
# Development libraries
pytest>=6.2.4
flake8>=3.9.2
Pour installer toutes les bibliothèques répertoriées dans ce fichier d’exigences, exécutez la commande suivante :
pip install -r requirements.txt
La commande installera itérativement tous les paquets Python listés et leurs dépendances.
Vous pouvez à nouveau effectuer une pip list pour vous assurer que tout a été installé correctement :

Explorer d’autres fonctionnalités de l’environnement virtuel
Dans les sections suivantes, nous discuterons de quelques fonctionnalités supplémentaires de virtualenv qui sont utiles pour les développeurs Python.
Exportation de la configuration de l’environnement
Le module venv vous permet d’exporter la configuration d’un environnement virtuel vers un fichier d’exigences. Cela peut s’avérer pratique si vous souhaitez partager la configuration de votre environnement avec des collaborateurs ou la recréer sur une autre machine.
Pour ce faire, activez votre environnement virtuel et exécutez la commande suivante :
pip freeze > requirements.txt
Il crée un fichier d’exigences qui spécifie tous les paquets installés et leurs versions.
Vérification de l’intégrité de l’environnement
Si vous souhaitez à tout moment vous assurer que toutes les dépendances de l’environnement sont à jour et cohérentes, exécutez cette commande :
pip check
Il signale toute incohérence ou tout problème. S’il n’y en a pas, il devrait sortir :
No broken requirements found
Mise à jour des dépendances
Pour mettre à jour tous les paquets de votre environnement virtuel vers leurs dernières versions, exécutez cette commande :
pip install --upgrade -r requirements.txt
Conclusion
Les environnements virtuels Python sont un moyen infaillible de tester le code Python dans des sandboxes autonomes. Que vous deviez reproduire un bogue de production, gérer différentes versions du code Python sur la même machine ou expérimenter différentes bibliothèques sans affecter votre installation principale de Python, les environnements virtuels sont la solution.
Vous devriez maintenant être en mesure de créer, de configurer et de gérer un environnement virtuel dans Python. Il est temps d’essayer votre premier environnement virtuel Python.
Comment créer un environnement virtuel en Python – FAQ
Pourquoi devrais-je créer un environnement virtuel pour mes projets Python ?
Un environnement virtuel vous permet de créer un environnement sandboxé pour tester des applications Python. Chaque environnement peut avoir sa propre version de l’interpréteur Python, du code source et des bibliothèques. De cette manière, vous pouvez tester les erreurs ou essayer différentes configurations et scénarios sans affecter les installations Python sur votre système principal.
Puis-je créer plusieurs environnements virtuels pour différents projets Python ?
Vous pouvez créer plusieurs environnements virtuels pour vos projets Python sur la même machine. Pour passer d’un environnement virtuel à l’autre, il suffit de désactiver l’environnement actuel et d’activer l’autre.
Puis-je installer des paquets et des dépendances dans un environnement virtuel ?
Vous pouvez installer des paquets et des dépendances dans un environnement virtuel à l’aide de la commande pip. Ces paquets et dépendances n’entreront pas en conflit avec les paquets installés sur le système principal et ne les remplaceront pas.