Dans cet article, vous apprendrez à démarrer avec les environnements virtuels en Python, dans les systèmes d'exploitation Windows et Linux.
Lorsque vous commencez à travailler sur plusieurs projets dans votre environnement de développement local, vous rencontrez souvent des problèmes de dépendance. La création d'environnements virtuels pour chacun de vos projets peut vous aider à mieux gérer les dépendances et les exigences du projet.
Pour tirer parti des avantages des environnements virtuels en Python, apprenons à créer et à activer des environnements virtuels. 👩🏽💻
What Are Virtual Environments?
Environnements virtuels sont des environnements isolés et indépendants qui contiennent le code et les dépendances d'un projet.
Mais pourquoi devriez-vous utiliser des environnements virtuels ?
Eh bien, les environnements virtuels vous permettent d'installer et d'utiliser différentes versions des mêmes bibliothèques pour différents projets. L'utilisation d'environnements virtuels garantit également qu'il n'y a pas de modifications importantes lorsque deux projets ou plus utilisent des versions différentes. Comprenons cela plus en détail.
Installation de packages en Python
La bibliothèque standard Python est livrée avec plusieurs modules utiles pour les tests unitaires, l'interaction avec le système d'exploitation, le travail avec les dates et les heures, etc.
Cependant, lorsque vous travaillez sur Projets Python, vous devrez souvent installer d'autres packages, développés par la communauté Python. Cela est particulièrement vrai pour les applications telles que le grattage Web pour la collecte de données, l'apprentissage automatique et les applications Web.
Pour installer et gérer ces packages, vous pouvez utiliser conda ou pépin.
Chaque projet nécessite un ensemble spécifique de packages que vous devez installer. Cependant, lorsque vous installez tous les packages de votre environnement de développement sur votre ordinateur local, tous les projets partagent les packages installés globalement.

Alors pourquoi est-ce un problème ?
Eh bien, vous pouvez avoir N packages dans votre environnement de développement. Cependant, le projet sur lequel vous travaillez actuellement peut n'en nécessiter que 3. Lorsque tous vos projets partagent des installations communes, il est très difficile d'identifier lequel des projets a requis lequel des packages installés - les dépendances associées à chaque projet.
Il y a une autre limite à cette approche. Supposons que vous ayez un projet Django 2.2 dans votre bibliothèque de projets. Vous décidez de commencer à travailler sur un projet qui utilise Django 4. Vous installez donc la version la plus récente de Django dans le même environnement de développement.
Que devient l'installation existante ?
Il est supprimé et remplacé par la version de Django que vous avez installée. Avec les nouvelles versions stables, certaines fonctionnalités peuvent être obsolètes. Et vos projets Django précédents peuvent ne pas fonctionner comme prévu.

Pour résumer notre discussion jusqu'à présent : la gestion des dépendances devient difficile lorsque les packages sont tous installés dans un environnement commun, car les projets nécessitent leur propre ensemble de bibliothèques courir.
How Virtual Environments Work
Jusqu'à présent, nous avons vu les défis associés à l'installation de packages dans un environnement de développement global (installations à l'échelle du système). Cela nous motive à comprendre comment les environnements virtuels répondent à cette limitation.
Lorsque vous créez et activez un environnement virtuel pour vos projets Python, vous pouvez installer uniquement. ces paquets qui sont conditions pour le projet en cours.

En revenant à l'exemple des projets Django, avec des environnements virtuels, vous pouvez exécuter à la fois des projets Django 2.2 et Django 4 - sans aucun conflit. En effet, les installations de Django ne sont plus des installations à l'échelle du système mais sont confinées aux environnements virtuels des projets respectifs.
Essentiellement : les environnements virtuels sont isolé environnements qui contiennent à la fois le code et les dépendances d'un projet.
Advantages of Virtual Environments

Maintenant que vous savez comment fonctionnent les environnements virtuels en Python, énumérons les avantages de leur utilisation :
- Les environnements virtuels offrent une environnement de développement isolé pour des projets individuels nous permettant d'installer uniquement les packages nécessaires par requis pour le projet spécifique.
- Comme les environnements virtuels des projets sont à la fois indépendants et isolés, différents projets peuvent utiliser différent versions de la même bibliothèque—selon les besoins. Avec les environnements virtuels, vous n'avez pas à vous soucier des autorisations système pour installer des bibliothèques et configurer l'environnement de développement.
- Une fois que vous avez installé des packages dans un environnement virtuel, vous pouvez capturer les dépendances du projet dans un fichier requirements.txt. Cela permet à d'autres développeurs de répliquer le développement et l'environnement du projet et d'installer les packages requis à l'aide d'une seule commande.
Tools to Create Virtual Environments

Jusqu'à présent, vous avez appris le fonctionnement des environnements virtuels et les avantages de leur utilisation. Explorons quelques outils populaires que vous pouvez utiliser pour créer et gérer des environnements virtuels en Python.
#1. Environnement virtuel
Environnement virtuel est l'un des outils les plus utilisés pour créer et gérer des environnements virtuels pour les projets Python. Un sous-ensemble de la fonctionnalité de virtualenv
est disponible dans le venv forfait. Cependant, le virtualenv
package est plus rapide et extensible par rapport à venv
.
#2. Pipenv
Avec pipnev, vous disposez à la fois de la fonctionnalité d'environnement virtuel de virtualenv
et les capacités de gestion des packages de pip
. Il utilise manages pipfiles pour gérer les dépendances du projet à l'intérieur d'un environnement virtuel à l'aide.
Vous pouvez essayer pipenv
directement depuis le navigateur sur ce Aire de jeux Pipenv.
#3. Conde
Si vous utilisez le Distribution Anaconda de Python pour le développement, vous pouvez utiliser compter pour la gestion des packages et pour la création d'environnements virtuels.
Pour en savoir plus, consultez ce guide complet sur gestion des environnements avec conda.
#4. Poésie
Poésie est un outil de gestion de packages qui vous permet de gérer les dépendances entre tous les projets Python. Pour commencer à utiliser Poetry, vous devez avoir installé Python 3.7 ou une version ultérieure.
#5. Venv
Comme mentionné, venv offre un sous-ensemble des fonctionnalités de virtualenv mais il présente l'avantage d'être intégré à la bibliothèque standard Python, à partir de Python 3.3.
Il est facilement disponible avec l'installation de Python et ne nécessite pas l'installation de packages externes. Nous l'utiliserons dans ce didacticiel pour créer et travailler avec des environnements virtuels. ✅
How to Create a Python Virtual Environment in Ubuntu
💬 Pour suivre le reste de ce didacticiel, vous devez disposer d'une installation locale de Python 3. Assurez-vous que vous exécutez Python 3.5 ou une version ultérieure.
Cette section décrit les étapes pour créer et activer des environnements virtuels dans une machine Ubuntu Linux. Les mêmes étapes peuvent être utilisées sur d'autres Distributions Linux également.
Pour une gestion plus facile, créons un répertoire de projet et cd
dans ça; Nous créerons venv
à l'intérieur de ce répertoire.
$ mkdir my_project
$ cd my_project
La syntaxe générale pour créer un environnement virtuel pour votre projet Python est python3 -m venv <venv-name-or-path>
. Lors de l'exécution de cette commande, un environnement virtuel appelé my_env
sera créé dans le répertoire de travail courant :
$ python3 -m venv my_env
Comment activer et installer des packages dans un environnement virtuel
Après avoir créé l'environnement virtuel, vous pouvez l'activer et y installer les packages requis. Pour activer l'environnement virtuel, vous pouvez exécuter la commande suivante :
$ source my_env/bin/activate
Une fois que vous avez activé un environnement virtuel, vous pouvez exécuter le pip list
commande pour obtenir la liste des packages installés :
$ pip list

Jusqu'à présent, nous n'avons installé aucun paquet, vous devriez donc pouvoir voir setuptools
et pip
—installé par défaut—dans chacun des environnements virtuels créés.
L'installation d' pip
à l'intérieur de l'environnement virtuel vous permet d'installer les packages nécessaires au projet spécifique ; c'est pourquoi vous avez un environnement de développement indépendant pour chaque projet.
Maintenant que vous avez activé l'environnement virtuel, vous pouvez y installer des packages spécifiques au projet à l'aide de pip. A titre d'exemple, installons requêtes Python, l'un des packages Python les plus téléchargés, qui fournit plusieurs fonctionnalités utiles pour envoyer des requêtes HTTP pour travailler avec des API Web.
$ pip install requests
Lorsque vous installez la bibliothèque de requêtes, vous verrez que la bibliothèque de requêtes est installée avec tous les packages requis par celle-ci.

$ pip list

Vous pouvez utiliser le pip freeze
et redirigez la sortie vers un fichier requirements.txt, comme indiqué :
$ pip freeze > requirements.txt
Si vous examinez le contenu du répertoire du projet en cours, vous verrez que le fichier requirements.txt a été créé.
$ ls
# my_env requirements.txt
Vous pouvez désactiver l'environnement virtuel après avoir travaillé sur le projet en exécutant la commande suivante :
$ deactivate
How to Create a Python Virtual Environment in Windows
En général, un environnement Linux est préféré pour le développement. Si vous êtes sur une machine Windows, vous pouvez envisager d'utiliser le Sous-système Windows pour Linux (WSL) mettre en place un environnement de terminal Ubuntu pour le développement local.
Si vous êtes sur une machine Windows, vous pouvez utiliser Windows PowerShell ou l'invite de commande et créer des environnements virtuels à l'aide de la commande suivante :
> python -m venv <path-to-venv>
Comment activer un environnement virtuel
L'activation d'environnements virtuels sur une machine Windows est différente selon que vous travaillez sur l'invite de commande ou sur Windows PowerShell.
Si vous êtes sur l'invite de commande, exécutez la commande suivante pour activer l'environnement virtuel :
> <path-to-venv>\Scripts\activate.bat
Sinon, si vous utilisez Windows PowerShell, l'exécution de cette commande activera l'environnement virtuel :
> <path-to-venv>\Scripts\Activate.ps1
Vous pouvez installer tous les packages requis dans l'environnement virtuel.
Pour désactiver les environnements virtuels, vous pouvez exécuter le deactivate
commande — à la fois sur l'invite de commande et Windows PowerShell.
Conclusion
Dans cet article, nous avons discuté des limites des installations à l'échelle du système et de la manière dont elles compliquent la gestion des dépendances entre les projets Python. Environnements virtuels en Python permettent de mieux gérer les dépendances tout en fournissant un environnement de développement isolé pour des projets individuels.
Parmi les outils largement utilisés pour créer et gérer des environnements virtuels en Python, vous avez appris à utiliser venv – qui est intégré à la bibliothèque standard Python pour créer et activer des environnements virtuels.
Dans l'environnement virtuel dédié d'un projet, des versions de bibliothèques spécifiques à un projet peuvent être installées. Ces exigences peuvent ensuite être capturées dans un fichier requirements.txt, ce qui permet à d'autres développeurs de répliquer facilement l'environnement du projet.
Lorsque vous démarrez votre prochain projet Python, veillez à utiliser des environnements virtuels pour une meilleure gestion des dépendances. Bon codage !🎉