Si ya sabes qué son las "variables de entorno" y cómo usarlas, siéntete libre de saltar esto.
Una variable de entorno (también conocida como "env var") es una variable que vive fuera del código Python, en el sistema operativo, y puede ser leída por tu código Python (o por otros programas también).
Las variables de entorno pueden ser útiles para manejar la configuración de la aplicación, como parte de la instalación de Python, etc.
fast →💬 You could create an env var MY_NAME withexport MY_NAME="Wade Wilson" 💬 Then you could use it with other programs, likeecho "Hello $MY_NAME" Hello Wade Wilson
fast →💬 Here we don't set the env var yetpython main.py 💬 As we didn't set the env var, we get the default value Hello World from Python
💬 But if we create an environment variable firstexport MY_NAME="Wade Wilson" 💬 And then call the program againpython main.py 💬 Now it can read the environment variable Hello Wade Wilson from Python
fast →💬 Here we don't set the env var yetpython main.py 💬 As we didn't set the env var, we get the default value Hello World from Python
💬 But if we create an environment variable first$Env:MY_NAME = "Wade Wilson" 💬 And then call the program againpython main.py 💬 Now it can read the environment variable Hello Wade Wilson from Python
Como las variables de entorno se pueden configurar fuera del código, pero pueden ser leídas por el código, y no tienen que almacenarse (confirmarse en git) con el resto de los archivos, es común usarlas para configuraciones o ajustes.
También puedes crear una variable de entorno solo para una invocación específica de un programa, que solo está disponible para ese programa, y solo durante su ejecución.
Para hacer eso, créala justo antes del programa en sí, en la misma línea:
fast →💬 Create an env var MY_NAME in line for this program callMY_NAME="Wade Wilson" python main.py 💬 Now it can read the environment variable Hello Wade Wilson from Python
💬 The env var no longer exists afterwardspython main.py Hello World from Python
Estas variables de entorno solo pueden manejar cadenas de texto, ya que son externas a Python y tienen que ser compatibles con otros programas y el resto del sistema (e incluso con diferentes sistemas operativos, como Linux, Windows y macOS).
Eso significa que cualquier valor leído en Python desde una variable de entorno será un str, y cualquier conversión a un tipo diferente o cualquier validación tiene que hacerse en el código.
Hay una variable de entorno especial llamada PATH que es usada por los sistemas operativos (Linux, macOS, Windows) para encontrar programas a ejecutar.
El valor de la variable PATH es una cadena larga compuesta de directorios separados por dos puntos : en Linux y macOS, y por punto y coma ; en Windows.
Por ejemplo, la variable de entorno PATH podría verse así:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Esto significa que el sistema debería buscar programas en los directorios:
Esto significa que el sistema debería buscar programas en los directorios:
C:\Program Files\Python312\Scripts
C:\Program Files\Python312
C:\Windows\System32
Cuando escribes un comando en la terminal, el sistema operativo busca el programa en cada uno de esos directorios listados en la variable de entorno PATH.
Por ejemplo, cuando escribes python en la terminal, el sistema operativo busca un programa llamado python en el primer directorio de esa lista.
Si lo encuentra, entonces lo usará. De lo contrario, sigue buscando en los otros directorios.
De esta manera, cuando escribes python en la terminal, el sistema encontrará el programa Python en /opt/custompython/bin (el último directorio) y usará ese.
Digamos que instalas Python y termina en un directorio C:\opt\custompython\bin.
Si dices que sí a actualizar la variable de entorno PATH, entonces el instalador agregará C:\opt\custompython\bin a la variable de entorno PATH.
De esta manera, cuando escribes python en la terminal, el sistema encontrará el programa Python en C:\opt\custompython\bin (el último directorio) y usará ese.
En muchos casos no es muy obvio cómo las variables de entorno serían útiles y aplicables de inmediato. Pero siguen apareciendo en muchos escenarios diferentes cuando estás desarrollando, así que es bueno saber sobre ellas.
Por ejemplo, necesitarás esta información en la próxima sección, sobre Entornos Virtuales.