Plusieurs solutions pour définir des variables d'environnement en Python :
activate de l'environnement virtuel Python ;Ajouter un fichier .env à la racine du projet :
# Environnement # Paquetage flask FLASK_APP="gcomp"
Insérer l'export après la modification du PATH dans le fichier ./bin/activate de l'environnement virtuel du projet :
...
48
49 _OLD_VIRTUAL_PATH="$PATH"
50 PATH="$VIRTUAL_ENV/"bin":$PATH"
51 export PATH
52
53 export FLASK_APP="gcomp"
...
Éditer également la fonction deactivate en début de fichier pour retirer la variable de l'environnement lorsque l'environnement virtuel est déchargé :
1 # This file must be used with "source bin/activate" *from bash* 2 # You cannot run it directly 3 4 deactivate () { 5 # reset old environment variables 6 unset FLASK_APP 7 if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then ...
Vérifier le bon comportement du script à l'activation puis à la désactivation de l’environnement virtuel Python :
# La variable est absente de l’environnement utilisateur initial printenv FLASK_APP # On charge le venv, la variable doit exister source .venv/bin/activate printenv FLASK_APP # On décharge le venv, la variable ne doit plus exister deactivate printenv FLASK_APP
Si Docker est utilisé comme outils de déploiement du projet, les variables d'environnement peuvent être définies dans le Dockerfile. Notons que ces variables persisteront à l'exécution du conteneur
#Dockerfile FROM an_image ... ENV FLASK_APP="gcomp"
Depuis le script / module Python, on accède aux variables d'environnement via le module os
import os os.environ['FLASK_APP']