Guías sobre temas de bases de datos y programación
pip install python-dotenv
El módulo dotenv es un módulo de dependencia cero que carga variables de entorno a partir de un archivo .env
. en process.env
. El almacenamiento de la configuración en el entorno separado del código se basa en la metodología de una aplicación Twelve-Factor.
Las variables de entorno nos permiten gestionar la configuración de nuestras aplicaciones por separado de nuestro código base. La separación de configuraciones facilita que nuestra aplicación se implementa en entornos diferentes.
Las variables de entorno son variables externas a nuestra aplicación que residen en el sistema operativo.
Es un simple archivo de texto donde, en cada línea, definimos una variable de entorno y le asignamos su valor mediante el operador =
.
PG_USER=postgres
PG_PASSWORD=miclavesupersecreta
PG_DBNAME=labasededatos
PG_HOST=elservidor
API_KEY=la_key_supersecreta
La función load_dotenv()
por defecto busca un archivo llamado .env
ubicado en el mismo directorio que el archivo de Python donde esta siendo llamado. Puede anular este comportamiento pasando como argumento una ruta de la siguiente manera:
load_dotenv(dotenv_path='path/to/.env')
Es posible que desee tener todas las configuraciones agrupadas en un diccionario, python-dotenv lo hace fácil usando el función dotenv_values
. La función dotenv_values
funciona más menos de la misma manera que load_dotenv()
, excepto que no toca el entorno, solo devuelve un dict con los valores analizados en el archivo .env
.
from dotenv import dotenv_values
config = dotenv_values('path/to/.env')
# config = {"USUARIO": "foo", "PORT_NUMBER": "3306"}
config['PORT_NUMBER'] = int(config['PORT_NUMBER'])
Para no guardar estos datos sensibles en nuestro repositorio, es importante agregar el archivo .gitignore
el archivo .env
y, para no perder de vista las variables de entorno que podemos configurar, duplicar el archivo como .env.sample
, eso sí, sin poner los valores reales. De esta forma, cuando descarguemos nuestro proyecto, bastará con copiar el archivo .env.sample
y renombrarlo a .env
.
También se incluye una interfaz CLI dotenv, que lo ayuda a manipular el .envarchivo sin abrirlo manualmente.
pip install python-dotenv
..env
con la configuración adecuada..gitignore
dotenv_load()
dotenv_values()