En windows powershell terminal. Puedo usar $Env:http_proxy="http://127.0.0.1:7890";$Env:https_proxy="http://127.0.0.1:7890".

Pero ahora quiero ejecutar un shell de Python en windows powershell terminal para hacer esto. ¿Puedo hacer esto? ¿Cómo escribir el script de Python?

0
user3875388 3 mar. 2021 a las 16:28

1 respuesta

La mejor respuesta

Básicamente, un proceso hijo , que invariablemente es un script de Python invocado desde una sesión de PowerShell, no puede modificar su entorno de proceso padre .

Tu única opción es:

  • Deje que el código Python genere instrucciones para configurar variables de entorno.

  • sobre el que debe actuar la sesión de PowerShell.

Por ejemplo:

# Call the Python script (simulated here with a simple command that prints a
# variable-name-value pair) and 
# split the output into variable name and value.
$name, $value = 
  (python -c 'print(''http_proxy=http://127.0.0.1:7890'')') -split '=', 2

# Set the environment variable accordingly.
Set-Item "Env:$Name" $value

# Test:
$env:http_proxy # -> 'http://127.0.0.1:7890'
1
mklement0 3 mar. 2021 a las 16:50