
Partager:
Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.
Un guide complet pour travailler avec les environnements virtuels Python
Imaginez que vous êtes un chef cuisinier qui a un plat fétiche mais qui souhaite expérimenter d'autres ingrédients ou d'autres techniques de cuisson. Au lieu de modifier directement votre recette originale, vous créez des copies identiques du plat. Chaque copie vous permet d'essayer de nouvelles variations sans modifier la recette originale. Vous pouvez ainsi explorer différentes saveurs et méthodes tout en conservant l'intégrité de votre plat principal. Les environnements virtuels (abrégés en venv dans ce blog) reviennent à disposer de plusieurs exemplaires du même plat en tant que chef.
Dans ce blog, vous apprendrez à connaître les environnements virtuels Python et à les utiliser.
Qu'est-ce qu'un environnement virtuel Python ?
Un environnement virtuel Python est un environnement Python autonome contenant une version spécifique de l'interpréteur Python et ses dépendances associées.
Ces environnements offrent des copies isolées de votre environnement Python, ce qui vous permet d'installer et de tester différents paquets sans affecter votre environnement Python global. Lorsque vous activez un environnement virtuel, l'interpréteur Python et les paquets installés dans cet environnement ont la priorité sur l'installation globale de Python et les autres environnements. Ainsi, votre projet utilise automatiquement les versions correctes des dépendances.
Pourquoi avez-vous besoin d'environnements virtuels ?
L'installation de paquets à l'aide de pip dans un environnement virtuel est la meilleure pratique pour maintenir un environnement global propre et éviter les modifications accidentelles des paquets du système. En outre, dans certains cas, l'utilisation d'environnements virtuels peut s'avérer bénéfique :
Lorsque plusieurs projets utilisent des versions différentes de paquets, les environnements virtuels dans le développement de Python permettent de gérer les dépendances séparément, évitant ainsi les conflits entre les exigences des projets.
Ils sont également utiles pour créer des environnements de test isolés, vous permettant de mettre en place des dépendances spécifiques pour tester de nouveaux paquets sans impacter la configuration principale de Python.
Comment utiliser les outils pour créer et activer un environnement virtuel ?
Il existe différents outils permettant de créer des environnements virtuels, tels que Conda, Pipenv, Poetryet bien d'autres encore. Deux d'entre eux sont très populaires virtualvenv et venv.
Utilisation de virtualenv
virtualenv est un outil tiers particulièrement utile pour gérer les environnements avec les nouvelles et les anciennes versions de Python. La principale différence avec venv est que virtualenv est plus flexible et personnalisable, vous pouvez donc l'utiliser pour créer des environnements virtuels avec des versions spécifiques de Python, des répertoires de paquets personnalisés, et plus encore. Voici quelques exemples d'utilisation de virtualenv.
Installation:
Tout d'abord, assurez-vous que Python est installé sur votre système.
Installer virtualenv en utilisant pip :
pip install virtualenvCréer un environnement:
Naviguez vers le répertoire de votre projet dans le terminal.
Créez un nouvel environnement virtuel à l'aide de virtualenv :
virtualenv myenvRemplacez myenv par le nom de l'environnement souhaité.
Activation:
Sous Windows :
myenv\Scripts\activateSous Unix ou MacOS :
source myenv/bin/activateL'invite de la ligne de commande doit maintenant afficher l'environnement virtuel actif.
Installer des paquets dans l'environnement virtuel
pip install package_name
Désactivation:
Il suffit d'utiliser la commande
deactivatecommande :
deactivateCela vous ramènera à l'environnement global de Python.
En suivant ces étapes, vous pouvez utiliser efficacement virtualenv pour gérer vos projets Python dans des environnements isolés.
Utilisation de venv
venv est un module intégré à Python 3 qui permet de créer des environnements virtuels légers. Il crée des environnements isolés qui possèdent leur propre interpréteur Python, leurs propres répertoires de paquets et leurs propres variables d'environnement. Suivez les commandes suivantes pour utiliser venv:
Créer un environnement virtuel
Naviguez vers le répertoire de votre projet dans le terminal.
Créez un nouvel environnement virtuel à l'aide de venv :
python -m venv myenvRemplacez myenv par le nom de l'environnement souhaité.
Activation
Sous Windows :
myenv\Scripts\activate.batSur Unix ou MacOS :
bash source myenv/bin/activateUne fois activé, vous pouvez travailler dans les environnements virtuels actifs comme vous le feriez dans un environnement Python classique. Vous pouvez installer des paquets à l'aide depipexécuter des scripts Python et gérer les dépendances.Installer des paquets dans l'environnement virtuel
pip install package_name
Désactivation:
Il suffit d'utiliser la commande
deactivatecommande :
deactivate
Cela vous ramènera à l'environnement global de Python.
Comment créer des environnements virtuels pour deux projets différents ?
Imaginez que vous construisiez deux projets à l'aide de Vonage, chacun nécessitant une version différente de Flask. Si Flask n'est installé que sur le Python global de votre système d'exploitation, vous ne pouvez pas utiliser deux versions du même paquet. Pour résoudre ce problème, créons des environnements virtuels pour chaque projet en suivant les étapes suivantes :
1. Créez l'environnement virtuel pour le premier projet :
Sur Unix/macOS et Windows :
python3 -m venv project1_venv
2. Activez l'environnement virtuel du premier projet :
Sous Unix/macOS :
source project1_venv/bin/activateSous Windows :
project1_venv\Scripts\activate3) (Facultatif) Définir les variables d'environnement (par exemple, pour Flask et Vonage) :
Sous Unix/macOS :
export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
Sous Windows :
set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret
4. Installez Flask (par exemple, la version 1.1.2) et Vonage pour le premier projet :
Sur Unix/macOS et Windows :
pip install Flask==1.1. vonage5. Liste des paquets installés
pip list6. Créez l'environnement virtuel pour le deuxième projet :
Sur Unix/macOS et Windows :
python -m venv project2_venv
7. Activer l'environnement virtuel du deuxième projet
Sous Unix/macOS :
source project2_venv/bin/activate
Sous Windows :
project2_venv\Scripts\activate8) (Facultatif) Définir les variables d'environnement (par exemple, pour Flask et Vonage) :
Sous Unix/macOS :
export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
Sous Windows :
set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret9. Installez une version différente de Flask (par exemple, la version 2.0.1) et de Vonage pour le deuxième projet.
Sur Unix/macOS et Windows :
pip install Flask==2.0.1 vonage
10. Liste des paquets installés
Sous Unix/macOS :
pip list
Sous Windows :
pip list
11. Verify Flask and Vonage versions :
Sur Unix/macOS et Windows :
flask --version
vonage --version
Comment éviter le problème "Mais ça marche sur ma machine" ?
Disons que vous avez construit l'application la plus incroyable à l'aide de Vonage, et que d'autres personnes veulent maintenant la recréer sur leurs propres machines. Après avoir configuré Vonage, Flask et d'autres dépendances dans votre environnement virtuel, figez les dépendances dans un fichier requirements.txt fichier :
pip freeze > requirements.txt
Ensuite, partagez votre projet et incluez le fichier requirements.txt dans le répertoire. Les autres personnes peuvent alors recréer votre environnement en clonant votre repo et en créant un environnement virtuel dans leur propre répertoire de projet en exécutant :
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
Enfin, ils installent les dépendances du fichier requirements.txt en exécutant :
pip install -r requirements.txt
Comment désactiver l'environnement virtuel
Lorsque vous avez fini de travailler dans un environnement virtuel, vous pouvez le désactiver. Tapez deactivate dans votre terminal ou votre invite de commande et appuyez sur Entrée. Cette commande désactivera l'environnement virtuel actuellement actif, ramenant votre session shell à l'utilisation de l'environnement Python global.
deactivate
En résumé
Les environnements virtuels Python sont des outils inestimables pour les développeurs Python, car ils permettent de créer des environnements isolés pour différents projets avec des dépendances et des configurations spécifiques. Ils fonctionnent comme des cuisines séparées pour les chefs, permettant l'expérimentation et la personnalisation sans affecter la recette principale. En suivant les meilleures pratiques grâce à l'utilisation d'un module Python tel que venv ou virtualenvvous pouvez facilement gérer les dépendances, prévenir les conflits et maintenir des configurations de projet propres. Que vous travailliez sur plusieurs projets avec des exigences différentes ou que vous testiez de nouveaux paquets et de nouvelles configurations, les environnements virtuels offrent la flexibilité et la cohérence nécessaires à des flux de développement Python efficaces.
Ressources complémentaires
Participez à la fête
Si vous avez aimé ce blog (ou si vous l'avez détesté), faites-le moi savoir ! Suivez l'équipe Vonage Developer Experience sur Xanciennement connu sous le nom de Twitter, ou rejoignez la Communauté Vonage Slack de la communauté Vonage. Si vous finissez par utiliser des environnements virtuels dans votre application Python, veuillez partager votre expérience et taguez-moi - J'aimerais savoir ce que vous avez fait !