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í: Guía paso a paso para construir una API REST con Flask en Python.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Python en la nube lista para usar, diseñada para agilizar su proceso de despliegue:

  • Despliegue su aplicación en producción en segundos con un simple git push.
  • Utilice su propio nombre de dominio, con configuración automática del certificado HTTPS para conexiones seguras gestionadas por nosotros.
  • Cuente con copias de seguridad automáticas, actualizaciones con un solo clic y precios predecibles, para que pueda centrarse en su código y no en la gestión de la infraestructura.
  • Disfrute de un alto nivel de rendimiento y seguridad en una infraestructura privada y dedicada. Su entorno está aislado y protegido.

Ahorre tiempo y simplifique su flujo de trabajo: puede tener su código funcionando con el hosting Python en la nube de Stackhero en solo 5 minutos.

Las variables de entorno le ayudan a proteger secretos como credenciales de bases de datos o claves API. Su uso mantiene los datos sensibles fuera de su código fuente y del historial de Git, y facilita el uso de configuraciones diferentes para cada entorno.

Para gestionar variables de entorno, puede utilizar el módulo python-dotenv. Si omitió el paso de instalación anterior, puede instalarlo ahora:

pip install python-dotenv
pip freeze > requirements.txt

Cree un archivo .env en la raíz de su proyecto y añada sus variables de entorno de desarrollo:

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

Añada .env a su .gitignore para evitar que se suba a Git:

echo ".env" >> .gitignore

Puede acceder a estas variables en Python usando os.environ.get():

import os

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

El archivo .env es solo para desarrollo. Para producción o preproducción, puede definir las variables de entorno directamente en el panel de Stackhero, en la configuración de su servicio Python.