Cómo utilizar dotenv para cargar variables de entorno en Python
Te enseño cómo utilizar el paquete dotenv
en Python para cargar variables de entorno desde un fichero .env
.
Python es uno de los lenguajes que más me ha gustado y que llevo usando desde que empecé a programar con 11 años. Estos días lo he retomado para construir un bot de telegram, algo que te contaré en otro post.
Construyendo este bot he necesitado gestionar variables de entorno, te cuénto qué son y cómo utilizarlas.
Qué son las variables de entorno
Las variables de entorno son pares clave-valor que contienen datos que se configuran fuera de tu código, de forma que pueden establecerse de forma dinámica y que además no están en tu sistema de control de versiones (posiblemente un repositorio git).
Pueden contener datos más sensibles, como contraseñas, o valores dinámicos que dependen del entorno (dev, prod...).
En mi caso, contienen el token de autenticación del bot de telegram que te comentaba al inicio del post.
Qué es el fichero .env y para qué sirve
El fichero .env se utiliza comúnmente en el desarrollo de software para gestionar los valores de las variables de entorno que son necesarias para la correcta ejecución de un proyecto en un entorno. Este archivo suele estar excluido del control de versiones.
Cómo cargar variables de entorno en Python usando dotenv
Hay un paquete de python que se encarga de leer tu fichero .env y cargarlo como variables de entorno. El paquete se llama dotenv y puedes instalarlo con el siguiente comando:
pip -m install python-dotenv
Una vez instalado, para utilizarlo importas la función load_dotenv
y la ejecutas justo después de tus imports. Posteriormente puedes acceder a los valores de las variables de entorno mediante la función os.getenv("NOMBRE_DE_TU_VARIABLE")
.
Te dejo un ejemplo del código necesario:
import os
from dotenv import load_dotenv
# Cargar las variables de entorno desde el fichero .env
load_dotenv()
# Obtener e imprimir una variable de entorno de ejemplo
variable_ejemplo = os.getenv("NOMBRE_DE_TU_VARIABLE")
print(variable_ejemplo)
Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.