Saltar al contenido

Cómo salir / salir / desactivar un virtualenv de Python

septiembre 29, 2021
apple touch icon@2

Utilizando el deactivate característica proporcionada por los venv activate El script requiere que confíe en que la función de desactivación esté codificada correctamente para restablecer limpiamente todas las variables de entorno a cómo eran antes, teniendo en cuenta no solo el activación original, pero también cualquier interruptores, configuración, o otro trabajo puede haber hecho mientras tanto.

Probablemente esté bien, pero introduce un nuevo riesgo distinto de cero de dejar su entorno modificado posteriormente.

Sin embargo, no es técnicamente posible que un proceso altere directamente las variables de entorno de su padre, por lo que podemos usar un sub-shell separado para estar absolutamente seguros nuestro venvs no dejes ningún cambio residual atrás:


Activar:

$ bash --init-file PythonVenv/bin/activate

  • Esto inicia un nuevo caparazón alrededor del venv. Tu original bash la cáscara permanece sin modificar.

Para desactivar:

$ exit O [CTRL]+[D]

  • Esto sale de todo el caparazón venv está en, y lo regresa al shell original de antes de que el script de activación realizara cambios en el entorno.

Ejemplo:

[[email protected] ~]$ echo $VIRTUAL_ENV
No virtualenv!

[[email protected] ~]$ bash --init-file PythonVenv/bin/activate

(PythonVenv) [[email protected] ~]$ echo $VIRTUAL_ENV
/home/user/PythonVenv

(PythonVenv) [[email protected] ~]$ exit
exit

[[email protected] ~]$ echo $VIRTUAL_ENV
No virtualenv!
close