GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo desactivar la variable de entorno 'http_proxy' en Python?

Estoy usando el siguiente código de Python para restablecer la variable de entorno http_proxy en Linux CentOS 6, pero no desarma la variable para el resto de la secuencia de comandos de Python.

Código:

 import os 
 print "Unsetting http..." 
 os.system("unset http_proxy") 
 os.system("echo $http_proxy") 
 print "http is reset"

Salida:

Unsetting http...
http://web-proxy.xxxx.xxxxxxx.net:8080
http is reset
Process finished with exit code 0

Respuesta aceptada:

Cada invocación de os.system() se ejecuta en su propia subcapa, con su propio entorno nuevo:

>>> import os
>>> os.system("echo $$")
97678
0
>>> os.system("echo $$")
97679
0

Tu eres deshabilitando el http_proxy variable, pero luego su subshell ha completado la ejecución del comando (a saber:unset ), y termina. A continuación, inicia una nueva subcapa con un nuevo entorno en el que ejecutar echo .

Creo que lo que intentas hacer es del os.environ['http_proxy'] , o os.environ.pop('http_proxy') si quiere asegurarse de que no haya http_proxy variable de entorno, ya sea que haya existido previamente o no:

$ export foo=bar
$ python2
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['foo']
'bar'
>>> del os.environ['foo']
>>> os.system('echo $foo')

0

Linux
  1. Cómo configurar y desactivar variables de entorno locales, de usuario y de todo el sistema en Linux

  2. Variables de entorno de Linux:cómo leer y configurar en un VPS de Linux

  3. Cómo verificar la versión del sistema operativo y Linux

  4. Cómo cambiar la identidad de un sistema Linux

  5. Dos versiones de python en linux. cómo hacer que 2.7 sea el predeterminado

Cómo configurar/desconfigurar variables de entorno en Linux

Cómo cambiar el shell predeterminado en el sistema Linux

Cómo configurar y desactivar variables de entorno en Linux

Linux:¿cómo instalar X11 en el propio sistema Linux Buildroot?

Cómo usar el comando fd en el sistema Linux

¿Cómo veo el documento de Python en Linux?