Guardar la configuración fuera del código
Objetivos
Vas a separar la configuración de cada computadora de los archivos que puedes publicar en Git.
Concepto
Una variable de entorno es un valor que el sistema entrega al proceso al iniciar un programa. Sirve para cambiar host, usuario o contraseña según el entorno sin editar el código. Una contraseña es un secreto: no debe aparecer en una captura, en un commit ni en el navegador.
Para el ejercicio local puedes usar un archivo .env que lee python-dotenv; ese archivo se agrega a .gitignore. .env.example sí se comparte porque contiene solo nombres y valores ficticios. Un archivo .env no convierte una app pública en segura por sí mismo y nunca debe subirse al repositorio.
Ejemplo
Instala el lector de .env con py -m pip install python-dotenv. En .env.example documentas qué valores deben crear localmente:
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=sakila
DB_USER=sakila_reader
DB_PASSWORD=escribe-tu-clave-localEn .gitignore incluye .env y .venv/. En Python, load_dotenv() lee el archivo local y os.getenv recupera una variable:
import os
from dotenv import load_dotenv
load_dotenv()
db_host = os.getenv("DB_HOST", "127.0.0.1")
db_password = os.getenv("DB_PASSWORD")
if not db_password:
raise RuntimeError("Configura DB_PASSWORD en tu entorno local")El mensaje de error nombra la variable que falta, nunca muestra su valor. En el capstone del curso el archivo de ejemplo viene incluido y el .env real debe crearlo cada estudiante.
Práctica guiada
- Copia
.env.examplecomo.enven tu computadora. - Reemplaza el texto de contraseña ficticia por una clave local.
- Comprueba que
.envaparece en.gitignoreantes de ejecutargit status.
Reto
Completa una función que exija DB_HOST, DB_USER y DB_PASSWORD. Si falta alguna, debe señalar solo los nombres ausentes.
Intenta el reto antes de consultar las pistas.
Quiz
Comprobación
La contraseña ya vive fuera del código versionado. Ahora convertirás esos valores en una conexión reutilizable y una sesión por solicitud.