Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Premiers pas avec les environnements virtuels en Python

Environnements-Virtuels-en-Python
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

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.

local-dev-env

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.

version-diff

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.

environnements-virtuels-python

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

Avantages-des-environnements-virtuels

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

Outils pour créer des environnements virtuels

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
image 3

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.

install-libraries-in-python-virtual-environment
$ pip list
view-libraries-in-python-virtual-environment

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 !🎉

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder