Les développeurs Python travaillent souvent sur plusieurs projets nécessitant des versions différentes de bibliothèques, ce qui crée des conflits de dépendances.
Sans gestion adéquate des environnements virtuels, cela entraîne des erreurs, ralentit le développement et complique la maintenance des projets.
Cet article vous guide pour créer et gérer des environnements virtuels en Python, vous permettant de séparer les dépendances de chaque projet et d’éviter les conflits, tout en améliorant l’efficacité et la stabilité de votre workflow.
Introduction aux environnements virtuels Python
Parfois, vous pouvez être amené à travailler simultanément sur plusieurs projets qui exigent des versions différentes de bibliothèques. Par exemple, un projet pourrait nécessiter une version spécifique de Django tandis qu’un autre nécessiterait une version différente. Ou encore, pour éviter d’encombrer votre système avec un grand nombre de modules installés, dont certains ne sont pas utilisés. Pour gérer efficacement ces situations, l’utilisation d’environnements virtuels est bien recommandée.
Pour illustrer les environnements virtuels par une analogie avec le monde réel, imaginez une maison avec plusieurs pièces :
- Dans un « atelier », vous trouverez des outils comme des marteaux, des tournevis, adaptés à des tâches spécifiques.
- Dans une « cuisine », il y a des ustensiles comme des assiettes, des fourchettes, des couteaux, chacun utilisé pour des besoins différents.
De manière similaire, les environnements virtuels permettent de séparer différentes configurations de développement. Par exemple, vous pourriez avoir un environnement virtuel pour la bibliothèque Django et un autre pour la bibliothèque Matplotlib, ainsi que pour scikit-learn et bien d’autres modules. Chaque environnement est indépendant des autres, ce qui permet de gérer les dépendances spécifiques à chaque projet sans interférence.
Créer un environnement virtuel Python
Créer un environnement virtuel sous Windows
Pour créer un environnement virtuel contenant des packages séparés de votre environnement principal, vous pouvez utiliser le module venv
de la bibliothèque standard de Python. Voici les étapes :
- Installer virtualenv :
pip install virtualenv
- Créer un environnement virtuel
python -m venv monenv
- Naviguer vers votre dossier d’environnement virtuel :
cd monenv
Ces diverses étapes seront exécutées dans votre terminal, comme indiqué dans les figures suivantes :
- Activer l’environnement virtuel :
Maintenant, vous pouvez activer cet environnement virtuel en suivant les instructions suivante :
.\Scripts\activate
Activation de l’environnement virtuel créer
Une fois activé, chaque ligne de commande sera préfixée par le nom de votre environnement virtuel. Vous êtes maintenant dans votre environnement virtuel. Les packages installés via pip seront uniquement installés dans cet environnement virtuel, comme illustré dans la figure suivante.
Pour quitter cet environnement virtuel, vous pouvez facilement désactiver l’environnement en tapant :
deactivate
Désactivation de l’environnement virtuel
Formation Python : Fonctions, Modularité et Environnements Virtuels
Approfondissez vos compétences en Python avec les fonctions avancées !
Créer un environnement virtuel sous Linux et macOS
Les étapes pour créer et gérer un environnement virtuel sous Linux et macOS sont similaires :
- Créer un environnement virtuel :
python3 -m venv monenv
Voici comment créer un environnement virtuel :
- Activer l’environnement virtuel :
Maintenant, vous pouvez activer cet environnement virtuel en suivant l’instruction suivante :
source monenv/bin/activate
Vous êtes maintenant dans votre environnement virtuel. Les packages installés via pip seront uniquement installés dans cet environnement. Maintenant on doit sélectionner notre environnement virtuel, pour se faire on doit suivre les étapes suivant :
Sélectionner l’interpréteur Python :
- Appuyez sur Ctrl + Shift + P pour ouvrir la palette de commandes.
- Tapez Python: Select Interpreter et sélectionnez cette option.
- Une liste d’interpréteurs disponibles apparaîtra. Choisissez celui qui correspond à votre environnement virtuel (il devrait être indiqué par le chemin vers votre environnement virtuel).
Pour quitter l’environnement virtuel, vous devez taper l’instruction suivante :
deactivate
Supprimer un environnement virtuel Python
Pourquoi supprimer un environnement virtuel Python ?
Il y a plusieurs raisons pour lesquelles vous pourriez vouloir supprimer un environnement virtuel :
- Vous avez terminé un projet et vous n’avez plus besoin de cet environnement.
- Vous avez fait une erreur de nomination.
- Vous avez des difficultés à travailler avec cet environnement.
Procédures pour supprimer un environnement virtuel
- Naviguer vers le dossier de l’environnement virtuel :
cd mon_env
- Supprimer le dossier de l’environnement virtuel :
Supprimer un environnement virtuel sous Windows
rmdir /S mon_env
Supprimer un environnement virtuel sous Linux et macOS
rm -rf mon_env
Votre environnement virtuel est maintenant supprimé.
Utiliser un environnement virtuel Python avec VS Code
Pour basculer d’un environnement virtuel à un autre dans Visual Studio Code (VS Code), vous devez suivre les étapes :
Étapes pour Windows, Linux et macOS dans VS Code
- Créer et activer un environnement virtuel : Ouvrez VS Code et ouvrez le terminal intégré, on tapant Ctrl + ou via le menu Terminal > Nouveau terminal.
En suivant les mêmes principes que ceux décrits précédemment pour la création et l’activation des environnements virtuels et en fin on l’active à l’aide de la commande suivante :
source monenv/bin/activate
- De la même manière que précédemment, vous devriez voir le nom de votre environnement virtuel entre parenthèses au début de votre invite de commande, indiquant que l’environnement virtuel est activé.
- Installer les packages dans l’environnement virtuel : Maintenant que votre environnement virtuel est activé, vous pouvez installer les packages que vous voulez a l’aide de l’instructions suivante :
console.log( 'Code is Poetry' );
- Désactiver l’environnement virtuel : Lorsque vous avez terminé de travailler dans l’environnement virtuel sur vs code, vous pouvez le désactiver en tapant :
deactivate
En suivant ces étapes, vous pouvez facilement basculer entre différents environnements virtuels dans VS Code et gérer vos projets avec les dépendances appropriées.
Copier un environnement virtuel Python avec pip freeze
Utiliser la commande pip freeze en Python
Cette commande permet d’afficher la liste des packages installés dans votre environnement virtuel actif, avec leurs versions respectives. Assurez-vous que l’environnement virtuel voulu est activé avant d’exécuter cette commande. Cela garantit que vous visualisez les dépendances spécifiques à cet environnement isolé.
Comment copier les packages d’un environnement virtuel Python
Pour reproduire un environnement virtuel sans installer manuellement tous les packages, vous pouvez utiliser la commande pip freeze
pour créer un fichier de requirements, puis installer ces packages dans un nouvel environnement virtuel. Voici les étapes à suivre :
- Créer un fichier requirements.txt à partir de l’environnement virtuel existant :
Activez votre environnement virtuel existant :
Copier un environnement virtuel sous Windows
.\monenv\Scripts\activate
Copier un environnement virtuel sous Linux et macOS
source monenv/bin/activate
Générez le fichier requirements.txt qui contient tout les packages installe dans l’environnement virtuel courant avec la commande pip freeze
:
- Créer un nouveau environnement virtuel :
Désactivez l’environnement virtuel existant :
deactivate
Créez un nouvel environnement virtuel :
python -m venv monnouvelenv
- Activer le nouvel environnement virtuel :
Sous Windows :
.\monnouvelenv\Scripts\activate
Sous Linux et macOS :
source monnouvelenv/bin/activatetivate
- Installer les packages à partir du fichier requirements.txt :
Utilisez la commande suivante pour installer tous les packages listés dans requirements.txt :
pip install -r requirements.txt
Ces étapes vous permettent de copier un environnement virtuel en dupliquant les mêmes packages et versions, ce qui évite d’installer manuellement chaque package.
Exercice pratique Python : Traducteur multilingue
Énoncé de l’exercice
- Travailler sous un environnement virtuel « traducteur »
- Installer le package « translate » (pypi.org)
- Le programme doit demander le texte à traduire
- Le code langue de traduction doit être demandé, par défaut la traduction sera en français (Fr)
Correction de l’exercice
Accéder au site PyPI et rechercher le package « translate ».
Après avoir recherché le package, sélectionner la première suggestion affichée :
Créer puis activer un nouvel environnement virtuel en suivants les étapes montrer précédemment, puis procéder à l’installation du package « translate ».
Puis on passe à la création de notre code qui répond a l’énoncé de l’exercice :
from translate import Translator
txt = input("Texte à traduire ? ")
lang = input("Code de langage de traduction ?")
if lang=="":
lang="fr"
translator= Translator(from_lang = "autodetect", to_lang=lang)
translation = translator.translate(txt)
print("Traduction en cours...")
print(translation)
Explication étape par étape de l’exercice
- Importation du module translate :Le module translate est importé pour utiliser la classe Translator.
- Saisie du texte à traduire :Le programme demande à l’utilisateur de saisir le texte qu’il souhaite traduire.
- Saisie du code de la langue de traduction :Le programme demande à l’utilisateur de saisir le code de langue ISO 639-1 de la langue dans laquelle il souhaite que le texte soit traduit.
- Définition de la langue par défaut :Si l’utilisateur n’a pas saisi de code de langue, la variable lang est définie par défaut sur « fr » pour le français.
- Création de l’objet Translator :Un objet Translator est créé pour effectuer la traduction. La langue source est détectée automatiquement
(from_lang="autodetect")
et la langue de destination est celle spécifiée par l’utilisateur ou « fr » par défaut. - Traduction du texte : La méthode translate de l’objet Translator est utilisée pour traduire le texte saisi par l’utilisateur.
- Affichage des messages : Un message indiquant que la traduction est en cours est affiché.
- La traduction du texte est ensuite affichée.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !
Conclusion
Maîtriser un environnement Python est crucial pour isoler les dépendances de vos projets. Grâce à des outils comme virtualenv et pip freeze, vous pouvez créer et gérer facilement des environnements spécifiques sous Windows, Linux ou macOS. Cela optimise votre flux de travail et garantit la stabilité de vos projets Python.