Warum .env-Dateien?
Warum .env-Dateien?
In Softwareprojekten ist es essenziell, sensible Informationen wie Passwörter, API-Tokens oder Datenbanknamen nicht direkt im Quellcode zu speichern. Stattdessen verwendet man .env-Dateien, die solche Variablen enthalten und nicht mit in die Versionskontrolle (z. B. Git) aufgenommen werden. Dadurch erhöht man die Sicherheit und erleichtert die Verwaltung verschiedener Umgebungen (z. B. Entwicklung, Test, Produktion).
Vorteile dieses Ansatzes
-
Sicherheit: Keine sensiblen Daten im Quellcode oder Git.
-
Flexibilität: Einfach verschiedene Umgebungen abbilden.
-
Wartbarkeit: Trennung von Konfiguration und Logik.
.env-Datei erstellen
Lege im Hauptverzeichnis deines Projekts eine Datei mit dem Namen .env an (ohne Dateiendung).
Beispielhafter Inhalt der .env-Datei:
PASSWORT=deinPasswort
API_TOKEN=deinToken123
DATENBANK_NAME=deinDBName
Hinweis: Füge .env zur .gitignore-Datei hinzu, damit sie nicht versehentlich ins Git-Repository gelangt. Außerdem dürfen in der .env-Datei keine leeren Zeilen, keine Leerzeichen vor und nach "=" und nur die Passwörter/Benutzernamen an sich stehen (ohne Anführungsstriche).
Abhängigkeit installieren
Um die .env-Datei in Python auszulesen, nutzt man in der Regel das Paket python-dotenv:
pip install python-dotenv
config.py erstellen
Erstelle eine Datei namens confog.py, die die .env-Datei lädt und die Variablen verfügbar macht.
Beispielhafter Code in der config.py-Datei:
from dotenv import load_dotenv
import os
# .env-Datei laden
load_dotenv()
# Variablen auslesen
PASSWORT = os.getenv("PASSWORT")
API_TOKEN = os.getenv("API_TOKEN")
DATENBANK_NAME = os.getenv("DATENBANK_NAME")
Variablen im Code verwenden
In deinem Hauptprogramm kannst du die Variablen nun ganz einfach importieren:
from config import PASSWORT, API_TOKEN, DATENBANK_NAME
def verbinde_mit_datenbank():
print(f"Verbinde mit {DATENBANK_NAME} mit Passwort {PASSWORT}...")
verbinde_mit_datenbank()