Pregunta ¿Cómo salir / salir / desactivar una python virtualenv?


Estoy usando virtualenv y virtualenvwrapper. Puedo cambiar entre virtualenv simplemente usando el comando workon.

me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$ 

Sin embargo, ¿cómo salgo de todas las máquinas virtuales y vuelvo a trabajar en mi máquina real? En este momento, la única manera que tengo de volver a

me@mymachine:~$ 

es salir del caparazón y comenzar uno nuevo. Eso es un poco molesto ¿Hay un comando para trabajar en "nada", y si es así, qué es? Si tal comando no existe, ¿cómo podría crearlo?


1067
2018-06-13 14:15


origen


Respuestas:


Por lo general, la activación de un virtualenv le da una función de shell llamada:

$ deactivate

que pone las cosas a la normalidad.

Editar 1

Acabo de mirar específicamente nuevamente el código para virtualenvwrapper, y, sí, también admite deactivate como la forma de escapar de todos los virtualenvs.

Editar 2

Si estás tratando de dejar un Anaconda entorno, el procedimiento es un poco diferente: ejecuta el comando de dos palabras source deactivate ya que implementan la desactivación usando una secuencia de comandos independiente.

bash-4.3$ deactivate
pyenv-virtualenv: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'
bash-4.3$ source deactivate
pyenv-virtualenv: no virtualenv has been activated.

1758
2018-06-13 14:31



Definí una alias  workoff como lo contrario de workon:

alias workoff='deactivate'

Fácil de recordar:

[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$

32
2018-01-14 16:23



$ deactivate 

Si esto no funciona, prueba

$ source deactivate

Cualquiera que sepa como intento source las obras pensarán que es extraño, pero algunas envolturas / flujos de trabajo alrededor de virtualenv se implementan como complemento / contraparte de source activate. YMMV


21
2018-04-12 06:41



para activar el entorno virtual de python:

$cd ~/python-venv/
$./bin/activate

para desactivar:

$deactivate

10
2017-11-26 07:06



Puedes usar virtualenvwrapper para facilitar la forma en que trabajas virtualenv

Instalación virtualenvwrapper

pip install virtualenvwrapper

Si está utilizando un shell estándar, abra su ~/.bashrc o ~/.zshrc si usas oh-my-zsh. Agrega estas dos líneas:

export WORKON_HOME=$HOME/.virtualenvs  
source /usr/local/bin/virtualenvwrapper.sh

Para activar un virtualenv existente, use el comando workon:

$ workon myenv
(myenv)$

Para desactivar tu virtualenv:

(myenv)$ deactivate

Aquí está mi tutorial, paso a paso sobre cómo instalar virtualenv y virtualenvwrapper


1
2017-09-01 05:13



yo suelo zsh-autoenv que se basa en autoenv.

zsh-autoenv automáticamente   fuentes (conocidas / incluidas en la lista blanca) .autoenv.zsh archivos, generalmente utilizados en   directorios raíz del proyecto. Maneja "entrar" y dejar "eventos"   anidamiento y almacenamiento de variables (sobreescritura y restauración).

Aquí hay un ejemplo:

; cd dtree 
Switching to virtual environment: Development tree utiles
;dtree(feature/task24|✓); cat .autoenv.zsh       
# Autoenv.
echo -n "Switching to virtual environment: "
printf "\e[38;5;93m%s\e[0m\n" "Development tree utiles"
workon dtree
# eof
dtree(feature/task24|✓); cat .autoenv_leave.zsh 
deactivate

Entonces cuando me voy dtree directorio, el entorno virtual se cierra automáticamente.


0
2018-02-14 10:50



(my_env) basant @ basant: ~ / EonTraining / my_env $ deactivate

usa 'desactivar'

basant @ basant-Lenovo-E40-80: ~ / EonTraining / my_env $

Gone (my_env);


0
2017-09-03 06:43