Outils pour utilisateurs

Outils du site


dev:python:core:variables_environnement

Ceci est une ancienne révision du document !


Python : Gestion des variables d'environnement

Plusieurs solutions pour définir des variables d'environnement en Python :

  1. Créer un fichier .env ;
  2. Éditer le fichier activate de l'environnement virtuel Python ;
  3. Utiliser le Dockerfile.

Le fichier .env

Ajouter un fichier .env à la racine du projet :

.env
# Environnement
 
# Paquetage flask
FLASK_APP="gcomp"

Édition du script activate

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

Utiliser le Dockerfile

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
#Dockerfile
FROM an_image
...
 
ENV FLASK_APP="gcomp"

Accéder aux variables d'environnement

Depuis le script / module Python, on accède aux variables d'environnement via le module os

import os
os.environ['FLASK_APP']

Références

dev/python/core/variables_environnement.1752919045.txt.gz · Dernière modification : 2025/07/19 09:57 de yoann