
Compartir:
Max es un defensor de los desarrolladores de Python e ingeniero de software interesado en las API de comunicaciones, el aprendizaje automático, la experiencia de los desarrolladores y el baile. Su formación es en Física, pero ahora trabaja en proyectos de código abierto y hace cosas para mejorar la vida de los desarrolladores.
Variables de entorno de Python (Env Vars): Una introducción
Tiempo de lectura: 19 minutos
Este artículo se actualizó el 10 de agosto de 2025.
Los desarrolladores de Python a menudo manejan datos que no quieren que nadie más vea, como claves de API, secretos de API, nombres de bases de datos, etc.
Una forma en que los programadores almacenan estos secretos es en las variables de entorno. En este artículo, aprenderás todo lo que necesitas saber sobre el uso de variables de entorno en Python. Te mostraremos cómo configurar variables de entorno en Python, cómo obtenerlas, y las diferentes formas en que puedes mantener todos tus secretos a salvo. Terminaremos con un ejemplo de la vida real de cómo las usamos aquí en Vonage.
¿Prefieres ver en lugar de leer? Echa un vistazo a la versión en Video de este tutorial:
¿Qué son las variables de entorno?
Las variables de entorno (a menudo llamadas "env vars") son variables que almacenas fuera de tu programa y que pueden afectar a su ejecución. Por ejemplo, puedes establecer variables de entorno que contengan la clave y el secreto de una API. Tu programa podría entonces utilizar esas variables cuando se conecte a la API.
Almacenar tus secretos en tu entorno en lugar de en tu código fuente tiene algunas ventajas:
Seguridad: Las variables de entorno te ayudan a salvaguardar datos sensibles como claves API y contraseñas. Por ejemplo, puede que no quieras que quien se descargue tu código fuente tenga acceso a una clave API que estés utilizando.
Gestión de la configuración: Con las variables de entorno, es fácil almacenar y gestionar los ajustes de configuración.
Portabilidad: Puede adaptar las aplicaciones a distintos entornos sin cambiar el código. Por ejemplo, si tu código se comporta de forma diferente en distintos sistemas operativos, puedes utilizar una variable de entorno para gestionarlo.
Pruebas y depuración: Los desarrolladores pueden simplificar las pruebas y la depuración ajustando las variables de entorno en lugar de cambiar el código.
En esencia, las variables de entorno le permiten cambiar el comportamiento de su programa sin cambiar el propio programa.
Puede almacenar variables de entorno en su sistema operativo, pero los otros métodos que cubriremos son más comunes en escenarios del mundo real; por ejemplo, al enviar mensajes de imagen RCS con Python.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
Python está instalado en su máquina
Una cuenta API de Vonage
Un número virtual de Vonage
Un editor de texto como Visual Studio Code
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Cómo utilizar variables de entorno en Python
En Python, las variables de entorno se obtienen y establecen mediante la función módulo incorporado os módulo.
Cómo obtener variables de entorno de Python
Para acceder al módulo os vamos a crear un archivo Python desde la línea de comandos:
touch env-testing.pyPuedes ver todas las variables de entorno de tu programa guardando el siguiente código en un archivo Python y ejecutando este programa Python:
Ahora abra el archivo env-testing.py con tu editor de texto y añade el siguiente código:
import os
os.environ
print(os.environ)Tu intérprete de Python debería imprimir todas las variables de entorno de tu sistema operativo cuando ejecutes este código desde la línea de comandos:
python3 env-testing.pyPuedes acceder a las diferentes variables de entorno en os.environ como si fuera un diccionario de Python. Aquí hay dos maneras de obtener variables de entorno con Python:
import os
os.environ['USER']
os.environ.get('USER')Las dos últimas líneas de tu código Python hacen lo mismo: ambas obtienen la variable de entorno USER de tu sistema operativo. Sin embargo, cuando usas la primera forma, Python lanza una excepción si no encuentra la variable.
Una buena práctica es utilizar os.environ['MY_ENVIRONMENT_VARIABLE'] si la variable de entorno es necesaria para que se ejecute su aplicación Python y os.environ.get('MY_ENVIRONMENT_VARIABLE') si es opcional.
También puede utilizar os.getenv() como alternativa a os.environ.get(). Ambos funcionan de la misma manera y devuelven None si la variable no está definida, pero os.getenv() puede ser un poco más conciso. Por ejemplo:
import os
api_key = os.getenv("MY_API_KEY")Tanto si elige os.getenv() o os.environ.get() depende sobre todo de las preferencias y la legibilidad.
Cómo configurar variables de entorno
Para establecer variables de entorno en Python, puedes añadirlas al objeto os.environ como lo haría con un diccionario. Sin embargo, sólo se permiten cadenas, ya que éstas se pasan directamente a la shell en la que se ejecuta el intérprete.
os.environ['USER'] = 'New User'
Para actualizar una variable de entorno, basta con anularla de la misma manera:
os.environ['USER'] = 'Modified User' Cómo almacenar variables de entorno de Python (5 métodos)
Hay diferentes razones por las que podrías querer almacenar variables de entorno, por lo que también hay diferentes maneras de almacenarlas. A veces, sólo necesitas que algo se establezca en tu máquina local, mientras que en otros casos, puede que necesites ejecutar tu aplicación en producción - ¡estos casos de uso requieren diferentes enfoques!
A continuación, te mostraremos cinco formas de almacenar variables de entorno para Python:
Almacenamiento del sistema operativo
Almacenamiento de archivos
Almacenamiento en la nube
Gestor universal de secretos Almacenamiento
Almacenamiento del sistema CI/CD
Almacenar variables de entorno en su sistema operativo
A veces, no quieres crear una variable de entorno a través de Python si sólo quieres establecer algo rápidamente. Afortunadamente, esto se puede hacer a través de la línea de comandos. Los ejemplos que daré aquí funcionan para sistemas tipo Unix (Mac, Linux, etc.), de lo contrario revisa este Tutorial de variables de entorno de Windows.
En el ejemplo anterior, USER era una variable de entorno establecida por su sistema operativo, que representa quién está utilizando su ordenador. Aunque tu sistema operativo crea esta variable automáticamente, también puedes crear tus propias variables de entorno.
Puede ver todas las variables de entorno desde su línea de comandos abriendo una línea de comandos y escribiendo lo siguiente (en un sistema tipo Unix):
Este comando env lista todas las variables disponibles en su shell.
A continuación se explica cómo crear una variable de entorno en la línea de comandos utilizando la sintaxis de variables de exportación:
Esto crea una variable llamada VONAGE_API y establece su valor en your_api. Puede imprimir el valor de cualquier variable de esta forma:
Cuando ejecute el código anterior, verá your_api como salida.
Almacenar variables de entorno en archivos
Cuando creas una nueva variable de entorno utilizando tu terminal/línea de comandos, sólo existe para esa sesión. Cuando cierras tu terminal, la variable de entorno deja de existir. A menudo, cuando estás programando, quieres que tus variables de entorno persistan para que puedan ser utilizadas cada vez que ejecutes tu código.
Una forma de persistir las variables de entorno es con archivos env; simples archivos de texto (a menudo llamados .env) que almacenan pares clave-valor. Esto facilita compartir la configuración entre entornos o miembros del equipo.
Vamos a crear un proyecto de ejemplo para demostrar cómo utilizar un archivo .env para almacenar variables de entorno.
En primer lugar, utiliza tu terminal para crear una nueva carpeta para este tutorial, entra en ella y crea un archivo .env dentro:
Añada esta línea a su .env archivo:
Ahora que estamos dentro de un Entorno Virtual Python, podemos instalar el paquete que necesitamos.
Ahora, podemos utilizar el módulo dotenv de este paquete para cargar variables de entorno desde el archivo .env al entorno al que Python puede acceder con el módulo os módulo. Crea un archivo Python con el siguiente contenido:
from dotenv import load_dotenv
import os
load_dotenv() # This line brings all environment variables from .env into os.environ
print(os.environ['VONAGE_API'])La función load_dotenv introduce las variables de entorno del archivo .env al archivo os.environque pueden utilizarse como cualquier otra variable de entorno establecida por el sistema operativo.
Cómo almacenar variables de entorno en la nube
Cuando creas software para producción, probablemente no lo ejecutes desde tu ordenador. En su lugar, lo más probable es que ejecutes tu código en un servidor.
Eso significa que necesitas saber cómo establecer y obtener variables de entorno desde donde sea que ejecutes tu código en producción.
Aquí hay una lista de proveedores de nube y donde se puede obtener más información acerca de cómo tratar con las variables de entorno que los utilizan:
Almacenar variables de entorno en sistemas CI/CD
Si utilizas sistemas CI/CD basados en la nube como GitHub Actions, CircleCI, Travis o Jenkins, también puedes almacenar variables de entorno en sus sistemas.
Si utilizas GitHub para tu proyecto, puedes almacenar variables de entorno en la configuración de tu repositorio accediendo a la pestaña "Configuración" y configurando las claves de API, etc., en la opción "Secretos y variables" de "Seguridad".

Aquí, puedes crear un nuevo secreto de repositorio haciendo clic en la opción y estableciendo los valores. Esto estará ahora disponible en tus ejecuciones de Acciones de GitHub.

Hay mucha información sobre configuración de variables de entorno con Acciones GitHubasí como en CircleCI, Travis y Jenkinsasí como información para otros proveedores.
Almacenar variables de entorno con un gestor universal de secretos
Si almacena sus secretos en un archivo .env persiste sus variables de entorno, pero tiene algunos problemas.
Por ejemplo, supongamos que estás en un equipo con diez personas. Todo el mundo está haciendo un seguimiento de sus secretos en .env y uno de los secretos cambia (por ejemplo, obtienes una nueva clave de API). En ese caso, diez personas todas tienen que actualizar su .env archivo, lo que no es muy eficiente.
O, ¿qué pasa si decides cambiar de Heroku a AWS? En ese caso, tendrás que aprender a manejar secretos en una nueva plataforma, lo que requiere trabajo extra.
Para resolver estos problemas, algunos programadores utilizan un gestor universal de secretos como Doppler. Un gestor de secretos universal te permite almacenar tus secretos en un solo lugar, para que todos los miembros de tu equipo puedan acceder a ellos.

Con un gestor de secretos universal, tus secretos son independientes de tu máquina local o de un proveedor en la nube, por lo que puedes llevarlos contigo independientemente de dónde ejecutes tu código.
Bonificación: Uso de variables de entorno con API externas
A veces, si estás utilizando un proyecto de ejemplo de una API externa o fragmentos de código de ejemplo, el propietario/mantenedor proporciona herramientas para facilitar su uso. A menudo, tendrás que utilizar variables de entorno para configurar las herramientas de forma óptima.
Aquí en Vonage, hacemos uso de variables de entorno en nuestros ejemplos de código Python para enviar SMS, realizar llamadas telefónicas, enviar códigos de verificación, verificar puntajes de fraude y mucho más.
Digamos que quieres usar Number Insight API de Vonage de Vonage para obtener información sobre algunos Numbers. En este caso, es posible que desees utilizar un ejemplo de código como éste para hacer que las cosas funcionen rápidamente en Python.
Para utilizar este código de muestra, primero crea una Account de Vonage (no te preocupes, ¡es gratis!) para obtener una clave API y un secreto para autenticar tus llamadas API.
A continuación, clone el repositorio de GitHub. Una vez hecho esto, crea un nuevo entorno virtual Python e instala las dependencias necesarias:
Por último, cambie el nombre del archivo .env.dist a .env y añada su clave API y su secreto al archivo, además de cambiar el valor de INSIGHT_NUMBER para que sea el número que quieres buscar. Ahora estás listo para ejecutar el código:
Deberías ver información sobre el número de teléfono que ingresaste, lo que significa que usaste Number Insight API de Vonage para buscar el número de teléfono desde tus variables de entorno, ¡sin necesidad de editar el archivo Python en absoluto! Esta es una gran ventaja de usar variables de entorno.
Reflexiones finales
Obtener y establecer variables de entorno es una parte esencial de la creación de software de producción. Si has completado este tutorial, ahora estás familiarizado con la forma de obtener y establecer variables de entorno utilizando Python.
Ahora también conoces las diferentes opciones para almacenar tus secretos: configurarlos temporalmente utilizando tu sistema operativo, almacenarlos en un archivo .env, guardarlos en la nube y utilizar un gestor de secretos universal. El método que utilices dependerá de las circunstancias del proyecto en el que estés trabajando. Si quieres leer más este post sobre el uso de claves privadas en variables de entorno tiene más información.
¿Tienes alguna pregunta o algo que compartir? Únete a la conversación en Slack de la comunidad de Vonagey mantente actualizado con el Boletín para desarrolladoressíguenos en X (antes Twitter)suscríbete a nuestro canal de YouTube para ver tutoriales en video, y sigue la página de página para desarrolladores de Vonage en LinkedInun espacio para que los desarrolladores aprendan y se conecten con la comunidad. Mantente conectado, comparte tu progreso y entérate de las últimas noticias, consejos y eventos para desarrolladores.
Ahora, prueba a utilizar variables de entorno en tus proyectos Python.
Compartir:
Max es un defensor de los desarrolladores de Python e ingeniero de software interesado en las API de comunicaciones, el aprendizaje automático, la experiencia de los desarrolladores y el baile. Su formación es en Física, pero ahora trabaja en proyectos de código abierto y hace cosas para mejorar la vida de los desarrolladores.
