dotenv en Python

Shivam Arora 10 octubre 2023
dotenv en Python

Este artículo explicará el significado y el uso de dotenv en Python.

El archivo .env es un archivo individual que contiene los valores clave descritos anteriormente para todas las variables ambientales necesarias en su aplicación. El archivo se almacena localmente sin guardarse en el control de origen, por lo que no pone en riesgo información potencialmente confidencial.

El dotenv se utiliza para leer el par de clave y valor del archivo .env y agregarlo a la variable de entorno. Podemos usarlo para administrar la configuración de la aplicación durante las fases de desarrollo y producción utilizando su principio de 12 factores.

Las variables de entorno se establecen en un archivo similar a UNIX dentro del directorio del proyecto Python usando el módulo env.

Para comenzar con el archivo .env, primero necesitamos instalar la biblioteca dotenv.

pip install python-dotenv

Usando dotenv, nuestra aplicación puede cargar la configuración desde un archivo .env cuando está presente (por ejemplo, durante el desarrollo) mientras conserva la configuración basada en el entorno.

Vea el siguiente ejemplo.

from dotenv import load_dotenv

config = load_dotenv(".env")

En el ejemplo anterior, usamos la función load_dotenv(). La función dotenv_values() funciona de manera similar a load_dotenv. Devuelve un diccionario con valores analizados del entorno.

Por ejemplo,

from dotenv import dotenv_values

config = dotenv_values(".env")

También podemos cargar las variables de entorno desde una red en lugar de un sistema de archivos. Para esto, podemos usar la función StringIO() del paquete io para crear un objeto de flujo.

Consulte el siguiente código.

from io import StringIO
from dotenv import load_dotenv

config = StringIO("USER=abc\nEMAIL=abc@example.org")
load_dotenv(stream=config)

También podemos utilizar la interfaz CLI dotenv para manipular el archivo .env sin abrirlo manualmente.

Vea los comandos a continuación.

pip install "python-dotenv[cli]"
dotenv set USER abc
dotenv set EMAIL abc@example.org
dotenv run -- python abc.py

Artículo relacionado - Python Environment