En général, lorsqu'un un script ou un programme Python s'appuie sur des dépendances hors paquetages de la bibliothèque standard on utilise un environnement virtuel Python.
Grossièrement, la création de l' environnement virtuel conduit à dédier un interpréteur Python et créer un environnement dans lequel le programme ou script peut être lancé correctement (modification PATH et PYTHONPATH et installation des dépendances intégrant les packages, modules et binaires dans cet environnement).
L'activation et la désactivation de l'environnement est surtout utile pour l'exploitation du programme en mode interactif (depuis un shell utilisateur interactif) lors du développement ou du débogage.
# Activer l'environnement virtuel dans le shell source venv/bin/activate # Ici le contexte est modifié pour garantir la bonne exécution du programme en mode interactif python ./mon_script.py # Désactiver l'environnement virtuel deactivate
Lorsqu'on souhaite exécuter le programme il n'est pas obligatoire d'exécuter le script d'activation de l'environnement, il faut cependant prendre garde à utiliser le bon interpréteur et des chemins complets.
/path/to/venv/bin/python /path/to/script.py
Dans le cas ou l'environnement virtuel contient des binaires ou des commandes, on peut les appeler également via leur chemin complet. Ci-dessous pour exemple un projet utilisant Flask. La commande flask est installée de l'environnement virtuel du projet et peut être appelée comme suit :
# Execution de l'application flask via la commande présente dans environnement virtuel /path/to/project/env/bin/flask --app /path/to/project/flask/app run