Python: Gestión de variables de entorno

Esta documentación forma parte de la guía Creación de una API REST. Consulte la guía completa aquí: Cómo crear una API REST usando Flask.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución nube de Python lista para usar que proporciona una serie de beneficios, incluyendo:

  • Despliegue su aplicación en segundos con un simple git push.
  • Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
  • Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
  • Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.

Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución de alojamiento en la nube de Python de Stackhero.

Las variables de entorno son vitales para proteger información sensible, como credenciales de bases de datos o claves API. Hay dos beneficios principales al usar variables de entorno:

  1. Sus secretos no se almacenan en su repositorio Git, asegurando que personas no autorizadas no puedan acceder a sus datos sensibles incluso si acceden a su código fuente.
  2. Puede usar diferentes credenciales para diferentes entornos (por ejemplo, producción frente a desarrollo).

Para gestionar las variables de entorno, usamos el módulo python-dotenv. Primero, instálelo si aún no lo ha hecho:

pip install python-dotenv
pip freeze > requirements.txt

A continuación, cree un archivo .env en la raíz de su proyecto y agregue sus variables de entorno de desarrollo. Por ejemplo:

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

Finalmente, agregue el archivo .env a su .gitignore para mantener la seguridad:

echo ".env" >> .gitignore

Para acceder a estas variables de entorno en Python, simplemente use os.environ.get():

import os

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

El archivo .env se usa solo para el entorno de desarrollo. Para staging o producción, configure las variables de entorno en el panel de Stackhero en la configuración de su servicio Python.