dotenv en Python
Cet article vous expliquera la signification et l’utilisation de dotenv
en Python.
Le fichier .env
est un fichier individuel contenant les valeurs clés décrites ci-dessus pour toutes les variables environnementales nécessaires à votre application. Le fichier est stocké localement sans être enregistré dans le contrôle de source, vous ne mettez donc pas en danger des informations potentiellement sensibles.
Le dotenv
est utilisé pour lire la paire clé et valeur du fichier .env
et l’ajouter à la variable d’environnement. Nous pouvons l’utiliser pour gérer les paramètres de l’application pendant les phases de développement et de production en utilisant son principe à 12 facteurs.
Les variables d’environnement sont établies dans un fichier de type UNIX à l’intérieur du répertoire du projet Python à l’aide du module env
.
Pour commencer avec le fichier .env
, nous devons d’abord installer la bibliothèque dotenv
.
pip install python-dotenv
En utilisant dotenv
, notre application peut charger la configuration à partir d’un fichier .env
lorsqu’il est présent (par exemple, lors du développement) tout en conservant la configuration basée sur l’environnement.
Voir l’exemple suivant.
from dotenv import load_dotenv
config = load_dotenv(".env")
Dans l’exemple ci-dessus, nous utilisons la fonction load_dotenv()
. La fonction dotenv_values()
fonctionne de manière similaire à la fonction load_dotenv()
. Il renvoie un dictionnaire avec des valeurs analysées à partir de l’environnement.
Par exemple,
from dotenv import dotenv_values
config = dotenv_values(".env")
Nous pouvons également charger les variables d’environnement à partir d’un réseau plutôt que d’un système de fichiers. Pour cela, nous pouvons utiliser la fonction StringIO()
du package io
pour créer un objet stream.
Voir le code suivant.
from io import StringIO
from dotenv import load_dotenv
config = StringIO("USER=abc\nEMAIL=abc@example.org")
load_dotenv(stream=config)
On peut aussi utiliser l’interface CLI dotenv
pour manipuler le fichier .env
sans l’ouvrir manuellement.
Voir les commandes ci-dessous.
pip install "python-dotenv[cli]"
dotenv set USER abc
dotenv set EMAIL abc@example.org
dotenv run -- python abc.py