Python: Zarządzanie zmiennymi środowiskowymi

Ta dokumentacja jest częścią przewodnika Tworzenie REST API. Pełny przewodnik znajdziesz tutaj: Jak stworzyć REST API za pomocą Flask.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Python cloud, które zapewnia wiele korzyści, w tym:

  • Wdrażaj swoją aplikację w kilka sekund za pomocą prostego git push.
  • Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
  • Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
  • Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Python cloud hosting Stackhero zajmuje tylko 5 minut!

Zmienne środowiskowe są kluczowe dla ochrony wrażliwych informacji, takich jak dane logowania do bazy danych czy klucze API. Istnieją dwa główne korzyści z używania zmiennych środowiskowych:

  1. Twoje sekrety nie są przechowywane w repozytorium Git, co zapewnia, że osoby nieupoważnione nie mogą uzyskać dostępu do Twoich danych nawet jeśli uzyskają dostęp do Twojego kodu źródłowego.
  2. Możesz używać różnych danych logowania dla różnych środowisk (na przykład produkcja kontra rozwój).

Aby zarządzać zmiennymi środowiskowymi, używamy modułu python-dotenv. Najpierw zainstaluj go, jeśli jeszcze tego nie zrobiłeś:

pip install python-dotenv
pip freeze > requirements.txt

Następnie utwórz plik .env w katalogu głównym projektu i dodaj swoje zmienne środowiskowe dla środowiska deweloperskiego. Na przykład:

ENV="development"
DATABASE_PASSWORD="secretPassword"
THIRD_API_PRIVATE_KEY="secretKey"

Na koniec dodaj plik .env do .gitignore, aby zachować bezpieczeństwo:

echo ".env" >> .gitignore

Aby uzyskać dostęp do tych zmiennych środowiskowych w Pythonie, po prostu użyj os.environ.get():

import os

print(os.environ.get('ENV'))

Plik .env jest używany tylko dla środowiska deweloperskiego. Dla stagingu lub produkcji ustaw zmienne środowiskowe na pulpicie Stackhero w konfiguracji usługi Python.