dotenv in Python

Shivam Arora 10 Oktober 2023
dotenv in Python

Dieser Artikel erklärt die Bedeutung und Verwendung von dotenv in Python.

Die Datei .env ist eine individuelle Datei, die die oben beschriebenen Schlüsselwerte für alle Umgebungsvariablen enthält, die in Ihrer Anwendung benötigt werden. Die Datei wird lokal gespeichert, ohne in der Quellcodeverwaltung gespeichert zu werden, sodass Sie keine potenziell sensiblen Informationen gefährden.

Mit dotenv wird das Schlüssel-Wert-Paar aus der .env-Datei gelesen und der Umgebungsvariablen hinzugefügt. Wir können damit die Anwendungseinstellungen während der Entwicklungs- und Produktionsphase verwalten, indem wir das 12-Faktoren-Prinzip verwenden.

Die Umgebungsvariablen werden in einer UNIX-ähnlichen Datei im Python-Projektverzeichnis mit dem Modul env erstellt.

Um mit der Datei .env zu beginnen, müssen wir zunächst die Bibliothek dotenv installieren.

pip install python-dotenv

Mit dotenv kann unsere Anwendung die Konfiguration aus einer .env-Datei laden, wenn diese vorhanden ist (zum Beispiel während der Entwicklung), während die umgebungsbasierte Konfiguration beibehalten wird.

Siehe das folgende Beispiel.

from dotenv import load_dotenv

config = load_dotenv(".env")

Im obigen Beispiel verwenden wir die Funktion load_dotenv(). Die Funktion dotenv_values() funktioniert ähnlich wie load_dotenv. Es gibt ein Dictionary mit Werten zurück, die aus der Umgebung geparst wurden.

Zum Beispiel,

from dotenv import dotenv_values

config = dotenv_values(".env")

Wir können die Umgebungsvariablen auch aus einem Netzwerk statt aus einem Dateisystem laden. Dazu können wir die Funktion StringIO() aus dem Paket io verwenden, um ein Stream-Objekt zu erstellen.

Siehe den folgenden Code.

from io import StringIO
from dotenv import load_dotenv

config = StringIO("USER=abc\nEMAIL=abc@example.org")
load_dotenv(stream=config)

Wir können auch die CLI-Schnittstelle dotenv verwenden, um die Datei .env zu manipulieren, ohne sie manuell zu öffnen.

Siehe die Befehle unten.

pip install "python-dotenv[cli]"
dotenv set USER abc
dotenv set EMAIL abc@example.org
dotenv run -- python abc.py

Verwandter Artikel - Python Environment