Python: Gestione delle variabili d'ambiente

Questa documentazione fa parte della guida Creazione di un'API REST. Consulta la guida completa qui: Come creare un'API REST usando Flask.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione cloud Python pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Distribuisci la tua applicazione in pochi secondi con un semplice git push.
  • Usa il tuo nome di dominio e beneficia della configurazione automatica dei certificati HTTPS per una sicurezza migliorata.
  • Goditi la tranquillità con backup automatici, aggiornamenti con un clic, e una tariffazione semplice, trasparente e prevedibile.
  • Ottieni prestazioni ottimali e una sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplificati la vita: ci vogliono solo 5 minuti per provare la soluzione di hosting cloud Python di Stackhero!

Le variabili d'ambiente sono vitali per proteggere informazioni sensibili, come le credenziali del database o le chiavi API. Ci sono due principali vantaggi nell'usare le variabili d'ambiente:

  1. I tuoi segreti non sono memorizzati nel tuo repository Git, garantendo che persone non autorizzate non possano accedere ai tuoi dati sensibili anche se accedono al tuo codice sorgente.
  2. Puoi usare credenziali diverse per ambienti diversi (ad esempio, produzione contro sviluppo).

Per gestire le variabili d'ambiente, utilizziamo il modulo python-dotenv. Prima di tutto, installalo se non l'hai già fatto:

pip install python-dotenv
pip freeze > requirements.txt

Successivamente, crea un file .env alla radice del tuo progetto e aggiungi le tue variabili d'ambiente di sviluppo. Ad esempio:

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

Infine, aggiungi il file .env al tuo .gitignore per mantenere la sicurezza:

echo ".env" >> .gitignore

Per accedere a queste variabili d'ambiente in Python, usa semplicemente os.environ.get():

import os

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

Il file .env è usato solo per l'ambiente di sviluppo. Per staging o produzione, imposta le variabili d'ambiente sulla dashboard di Stackhero nella configurazione del tuo servizio Python.