Necesito establecer algunas variables de entorno en el script python y quiero que todas las demás secuencias de comandos sean llamadas desde python (scripts de shell) que serán procesos secundarios para ver las variables de entorno establecidas. El valor es un numeroCómo establecer variables de entorno en Python
Si lo hago os.environ["DEBUSSY"] = 1
, se queja diciendo que 1
tiene que ser una cadena. También quiero saber cómo leer las variables de entorno en python (en la parte posterior del script) una vez que lo configuro. las variables
En algunas plataformas, modificando os.environ realidad no va a modificar el entorno del sistema, ya sea para los procesos actuales de proceso o de niño. Consulte los documentos para obtener más información: https://docs.python.org/2/library/os.html#os.environ – Evan
@Evan Puede haber algunas variantes históricas de Unix que no admiten 'putenv()', pero para esos Unixen no hay nada que puedas hacer de todos modos. Incluso la versión anterior de AIX y HPUX con la que trabajé lo soportaba. Si alguien es capaz de encontrar una computadora que no la soporte hoy, tengo serias dudas de que puedan ejecutar Python en esa computadora. :) –
** Precaución: ** para citar la referencia de @ Evan anterior, * Tales cambios en el entorno afectan a los subprocesos iniciados con os.system(), popen() o fork() y execv(). * En otras palabras, tenga en cuenta que este enfoque no modificará la forma en que se ejecuta su programa, solo la forma en que se ejecutan los hijos de su programa. Es cierto que su programa puede establecer y leer variables de entorno, pero solo desde el entorno que configura para sus hijos. Ver también: [cambiar el entorno de proceso actual] (http://stackoverflow.com/q/1178094/5025060). Hasta el momento, no he encontrado una forma de que un script de Python modifique su env principal. –