Usted no puede hacerlo de Python, pero algunos trucos de bash inteligentes pueden hacer algo similar. El razonamiento básico es este: las variables de entorno existen en un espacio de memoria por proceso. Cuando se crea un nuevo proceso con fork() hereda las variables de entorno de sus padres. Cuando se establece una variable de entorno en la shell (por ejemplo bash) como esto:
export VAR="foo"
Lo que está haciendo es decirle a bash para establecer la variable VAR en su espacio de proceso de "foo". Cuando ejecuta un programa, bash usa fork() y luego exec() para ejecutar el programa, por lo que todo lo que ejecuta desde bash hereda las variables de entorno bash.
Ahora, supongamos que desea crear un comando bash que establezca alguna variable de entorno DATOS con contenido de un archivo en su directorio actual llamado ".data". En primer lugar, debe tener un comando para obtener los datos del archivo:
cat .data
que imprime los datos.Ahora, queremos crear un comando bash para establecer que los datos en una variable de entorno:
export DATA=`cat .data`
ese comando toma el contenido de .data y la pone en el entorno de datos variables. Ahora, si pones que dentro de un orden de seudónimo, que tiene un comando bash que establece la variable de entorno:
alias set-data="export DATA=`cat .data`"
Usted puede poner ese comando alias dentro de la .bashrc o .bash_profile en su directorio personal para tener ese comando disponible en cualquier nuevo shell bash que inicie.
duplicado: http://stackoverflow.com/questions/488366/how-do-i-make-environment-variable- changes-stick-in-python, http://stackoverflow.com/questions/235435/environment-variables-in-python-on-linux –
Esto es más de un "Parece que esto sería útil. ¿Por qué no? ¿es posible?" – physicsmichael
Pero no importa. Si dije que era una restricción legal, ¿cómo cambia eso? Aún no puedes hacerlo. Si dije que era un elemento del Libro de Disciplina Metodista, ¿cómo cambia eso? Aún no puedes hacerlo. –