Gelöst: Py-Umgebungsvariablen registrieren

Letzte Aktualisierung: 09/18/2023

Umgebungsvariablen sind ein grundlegender Aspekt der Python-Entwicklung, insbesondere wenn es darum geht, sicherzustellen, dass Ihre Anwendungen der Twelve-Factor-App-Methodik für die Erstellung von Software-as-a-Service-Anwendungen (SaaS) entsprechen. Ein Schlüsselprinzip dieser Methodik ist die Speicherung der Konfiguration in der Umgebung . Durch die Verwendung von Umgebungsvariablen auf diese Weise werden Konfiguration und Code getrennt – eine Voraussetzung für die Bereitstellung von Anwendungen auf verschiedenen Plattformen wie Heroku, AWS oder Google Cloud. Darüber hinaus trägt dies zur Gewährleistung von Sicherheit, Skalierbarkeit und Verwaltbarkeit bei.

Im Bereich der Python-Entwicklung kann das Festlegen, Abrufen und Verwenden von Umgebungsvariablen einfach gehandhabt werden. In diesem Artikel gehen wir auf die Details ein und bieten ein umfassendes Verständnis und praktische Lösungen für die Anwendung von Umgebungsvariablen.

Verwalten von Python-Umgebungsvariablen

Auf Umgebungsvariablen in Python kann über das Modul os zugegriffen werden , insbesondere über dessen Objekt os.environ , das einem Wörterbuch ähnelt und den Zugriff auf die zugrunde liegenden, auf dem System festgelegten Umgebungsvariablen ermöglicht.

import os
db_user = os.environ.get('DB_USER')
db_password = os.environ.get('DB_PASSWORD')

Hier rufen wir die Umgebungsvariablen DB_USER und DB_PASSWORD ab.

Umgebungsvariablen einstellen

Umgebungsvariablen werden normalerweise im System festgelegt, insbesondere in der Terminalumgebung auf Unix und Unix-ähnlichen Systemen. Das Setzen der Variable DB_USER könnte beispielsweise wie folgt erfolgen:

export DB_USER="myDatabaseUser"

In der Python-Entwicklung ist es jedoch üblich, diese in einer Datei (z. B. .env) festzulegen.

Praktische Komplettlösung: Python-dotenv-Bibliothek

Mit der Python-dotenv-Bibliothek können wir aus einer .env-Datei lesen, in der wir unsere Umgebungsvariablen bequem speichern können. Dies ist in der Regel der Definition von Variablen im System vorzuziehen, da sich anwendungsspezifische Konfigurationen einfacher verwalten lassen und vertrauliche Informationen wie API-Schlüssel sicher gespeichert werden können.

Mit python-dotenv können wir unsere Umgebungsvariablen auf die gleiche Weise in die .env-Datei schreiben, wie wir es im System tun würden.

DB_USER="myDatabaseUser"
DB_PASSWORD="superSecurePassword"

Um den Python-Dotenv zum Abrufen dieser Variablen einzurichten, müssen wir die Python-Dotenv-Bibliothek installieren und in die Python-Datei importieren.

pip install python-dotenv

Sie können jetzt Ihre Umgebungsvariablen aus Ihrer .env-Datei laden

import os
from dotenv import load_dotenv

load_dotenv()  # take environment variables from .env
db_user = os.getenv('DB_USER')
db_password = os.getenv('DB_PASSWORD')

Dieser Ansatz bietet eine sichere und bequeme Möglichkeit, Ihre Umgebungsvariablen zu verwalten und die Code-Portabilität und Skalierbarkeit zu maximieren.

Bedeutung der Verwaltung von Umgebungsvariablen

Die ordnungsgemäße Verwaltung von Umgebungsvariablen führt zu sichereren, skalierbareren und besser verwaltbaren Anwendungen. Umgebungsvariablen trennen die Konfiguration vom Code, was für cloudbasierte Anwendungen von größter Bedeutung ist. Sie ermöglichen Ihnen das Festlegen kritischer Daten wie Datenbankdetails und API-Schlüssel, ohne dass sensible Details Ihrer Codebasis preisgegeben werden.

  • Sicherheit: Verstecken Sie vertrauliche Daten wie Datenbankanmeldeinformationen, API-Schlüssel und andere Geheimnisse.
  • Skalierbarkeit: Verwalten Sie Konfigurationen in verschiedenen Umgebungen: lokal, Produktion, Staging usw.
  • Verwaltbarkeit: Reibungslosere Bereitstellungen, insbesondere auf cloudbasierten Plattformen, die stark auf Umgebungskonfigurationen angewiesen sind.

Durch die Nutzung der Leistungsfähigkeit von Umgebungsvariablen in Kombination mit Python können Ihre Anwendungen ein völlig neues Maß an Effizienz und Sicherheit erreichen.

Zusammenhängende Posts: