Qu'est-ce qu'un environnement virtuel ?
En tant que développeur Python, il vous arrivera souvent de travailler sur plusieurs projets différents. :zorro: Il est fort probable que chaque projet utilisera un ensemble de paquets Python différent.
Par exemple, un site web sur lequel vous travaillez utilisera les paquets suivants (entre autres) :
Django==3.0.6
requests==2.23.0
wagtail==2.9
Un autre projet d'analyse de données sur lequel vous travaillez utilisera quant à lui ces paquets :
numpy==1.18.4
pandas==1.0.3
requests==2.12.0
Pour garantir que vous disposiez des bons paquets (notamment de leurs versions spécifiques) au sein de votre environnement de développement local lorsque vous passez d'un projet à l'autre, nous utilisons des environnements virtuels.
Lorsque vous démarrez un projet, vous créez un environnement virtuel. Chaque environnement virtuel comprend sa propre version de Python et tous les paquets Python que vous décidez d'y installer.
Vérifiez que vous disposez des bons outils pour créer un environnement virtuel
Nous utilisons le module Python venv
pour créer et gérer des environnements virtuels. venv
est une nouveauté de Python 3.3, vous pourrez donc l'exploiter à condition d'utiliser une version à jour de Python !
Vous pouvez vérifier que vous avez accès à venv
en saisissant dans votre terminal :
$ python -m venv --help usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR ...] Creates virtual Python environments in one or more target directories. positional arguments: ENV_DIR A directory to create the environment in. optional arguments: -h, --help show this help message and exit --system-site-packages Give the virtual environment access to the system site-packages dir. --symlinks Try to use symlinks rather than copies, when symlinks are not the default for the platform. --copies Try to use copies rather than symlinks, even when symlinks are the default for the platform. --clear Delete the contents of the environment directory if it already exists, before environment creation. --upgrade Upgrade the environment directory to use this version of Python, assuming Python has been upgraded in-place. --without-pip Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default) --prompt PROMPT Provides an alternative prompt prefix for this environment. Once an environment has been created, you may wish to activate it, e.g. by sourcing an activate script in its bin directory.
Si vous n'obtenez pas le résultat ci-dessus (ou un résultat similaire), c'est que vous utilisez probablement une version obsolète de Python. :( Vous pouvez le vérifier avec :
$ python --version Python 3.7.1
Si votre version de Python est < 3.3, vous ne disposez pas de venv. Vous devez donc installer la dernière version de Python et exécuter à nouveau python -m venv --help
.
Si vous avez correctement suivi ce chapitre, félicitations. :ange: Vous êtes prêt à aborder le suivant ! Si certains aspects vous posent encore problème ou si vous souhaitez consolider ces notions, suivez la démonstration de la vidéo ci-dessous :
En résumé
Dans ce chapitre, vous avez fait les premiers pas pour commencer à travailler avec des environnements virtuels dans Python. Vous êtes maintenant capable de :
comprendre pourquoi nous avons besoin d'environnements virtuels ;
vérifier que vous disposez des bons outils de ligne de commande pour travailler avec des environnements virtuels.
Maintenant que vous avez vérifié que vous disposez des bons outils, vous êtes prêt à créer votre premier environnement virtuel.