Venv python : Fiche pratique


En Python, venv est un module intégré qui permet de créer un environnement virtuel. Un environnement virtuel permet d’installer des modules Python spécifiques à ce projet sans affecter les autres projets ou le système Python global de la machine.

Créer un environnement venv

python -m venv /path/to/new/virtual/environment

Crée un environnement virtuel à l’emplacement donné et pointant vers l’installation de Python actuelle. Il crée également un sous-dossier avec une copie ou un lien symbole (selon la plateforme et les paramètres utilisés pour créer l’environnement) des exécutables. Si un dossier existant est fourni, il le réutilise.

Obtenir de l’aide

python -m venv --help

Affiche toutes les options disponibles pour créer un environnement virtuel.

Activer un environnement

source <venv>/bin/activate

Active l’environnement virtuel sur linux. Une fois activé, la variable d’environnement PATH est mise à jour afin que l’exécution de python déclenche l’interprète Python du environnement virtuel. Les scripts peuvent ensuite être exécutés sans indiquer leur emplacement complet.

<venv>\Scripts\activer.bat

Active la version CMD.EXE de l’environnement virtuel sur windows. Une fois activé, la variable d’environnement PATH est mise à jour afin que l’exécution de python déclenche l’interprète Python du environnement virtuel. Les scripts peuvent ensuite être exécutés sans indiquer leur emplacement complet.Scripts

<venv>/Scripts/Activer.ps1

Active la version PowerShell de l’environnement virtuel sur windows. Une fois activé, la variable d’environnement PATH est mise à jour afin que l’exécution de python déclenche l’interprète Python du environnement virtuel. Les scripts peuvent ensuite être exécutés sans indiquer leur emplacement complet.Scripts

Désactiver un environnement virtuel

Vous pouvez désactiver un environnement virtuel en tapant dans votre invite de commande « deactivate ».

deactivate

PIP avec venv

La commande pip permet d’installer des packages (bibliothèques) sur votre machine. Lorsqu’un environnement virtuel venv est activé, pip devient un outil isolé dans cet environnement virtuel. Cela signifie que tout ce que vous installez à l’intérieur de cet environnement virtuel sera isolé. Ainsi, même si plusieurs projets utilisent la même version d’un package, ils ne se contaminent pas. Chaque projet utilise sa propre installation du package.

Sauvegarder la liste des dépendances dans un fichier

La commande pip freeze permet d’exporter une liste des packages et leurs versions actuellement installés dans votre environnement actif. Cette commande doit être exécutée à partir de la racine de votre projet.

python -m pip freeze > requirements.txt

Installer les dépendances à partir d’un fichier requirement.txt

Vous avez probablement déjà utilisé la commande pip install <nom-du-package> pour installer manuellement un package. Mais si vous avez beaucoup de packages à installer, cela peut être fastidieux et long à faire manuellement. C’est là que l’option -r de pip s’avère très utile. Vous pouvez installer tous les packages indiqués dans un fichier texte spécifique grâce à la commande suivante:

pip install -r requirements.txt