GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar la exportación con Python en Linux

realmente quieres hacer

import os
os.environ["MY_DATA"] = "my_export"

No es tan simple:

python -c "import os; os.putenv('MY_DATA','1233')"
$ echo $MY_DATA # <- empty

Pero:

python -c "import os; os.putenv('MY_DATA','123'); os.system('bash')"
$ echo $MY_DATA #<- 123

Otra forma de hacer esto, si tiene prisa y no le importa el regusto a hacky, es ejecutar la salida del script de python en su entorno bash e imprimir los comandos para ejecutar la configuración del entorno en python. No es ideal, pero puede hacer el trabajo en un abrir y cerrar de ojos. No es muy portátil entre shells, así que YMMV.

$(python -c 'print "export MY_DATA=my_export"')

(también puede encerrar la declaración en acentos graves en algunos shells ``)


export es un comando que le das directamente al shell (por ejemplo, bash ), para indicarle que agregue o modifique una de sus variables de entorno. No puede cambiar el entorno de su shell desde un proceso secundario (como Python), simplemente no es posible.

Esto es lo que sucede cuando intenta os.system('export MY_DATA="my_export"') ...

/bin/bash process, command `python yourscript.py` forks python subprocess
 |_
   /usr/bin/python process, command `os.system()` forks /bin/sh subprocess
    |_
      /bin/sh process, command `export ...` changes its local environment

Cuando el /bin/sh más bajo el subproceso termina de ejecutar su export ... comando, luego se descarta, junto con el entorno que acaba de cambiar.


Linux
  1. Cómo uso Vagrant con libvirt

  2. Cómo usar el comando Su en Linux

  3. Comando SCP en Linux:cómo usarlo, con ejemplos

  4. Cómo administrar múltiples versiones de Python con Pyenv en Linux

  5. Cómo usar la memoria compartida con Linux en C

Cómo usar el comando de suspensión de Linux con ejemplos

Cómo usar el comando who en Linux con ejemplos

Comando alias de Linux:cómo usarlo con ejemplos

Cómo usar el comando gunzip de Linux con ejemplos

Cómo usar el comando rm de Linux con ejemplos

Cómo instalar y usar Python-Mistune en Linux