entorno crear python virtualenv virtualenvwrapper

crear entorno virtual python windows



¿Cómo dejar/salir/desactivar un python virtualenv? (8)

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

utilizar ''desactivar''

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

Gone (my_env);

Estoy usando virtualenv y el 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 trabajo de nuevo en mi máquina real? En este momento, la única manera que tengo de volver a

me@mymachine:~$

Es salir del shell 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 lo haría para crearlo?


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

$ deactivate

que vuelve las cosas a la normalidad.

Editar 1

Acabo de ver específicamente el código de virtualenvwrapper, y, sí, también es compatible con deactivate como la forma de escapar de todos los virtualenvs.

Editar 2

Si está intentando abandonar un entorno de Anaconda , el procedimiento es un poco diferente: ejecute la source deactivate comando de dos palabras source deactivate ya que implementan la desactivación utilizando un script 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.


Puede usar virtualenvwrapper para facilitar la forma en que trabaja con virtualenv

Instalando virtualenvwrapper

pip install virtualenvwrapper

Si está utilizando shell estándar, abra su ~/.bashrc o ~/.zshrc si usa oh-my-zsh. Añade 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


Tuve el mismo problema mientras trabajaba en un script de instalación, eché un vistazo a lo que hizo bin / active_this.py y lo invirtí.

Ejemplo:

#! /usr/bin/python # -*- coding: utf-8 -*- import os import sys # path to virtualenv venv_path = os.path.join(''/home'', ''sixdays'', ''.virtualenvs'', ''test32'') # Save old values old_os_path = os.environ[''PATH''] old_sys_path = list(sys.path) old_sys_prefix = sys.prefix def deactivate(): # Change back by setting values to starting values os.environ[''PATH''] = old_os_path sys.prefix = old_sys_prefix sys.path[:0] = old_sys_path # Activate the virtualenvironment activate_this = os.path.join(venv_path, ''bin/activate_this.py'') execfile(activate_this, dict(__file__=activate_this)) # Print list of pip packages for virtualenv for example purpose import pip print str(pip.get_installed_distributions()) # Unload pip module del pip # deactive/switch back to initial interpreter deactivate() # print list of initial environment pip packages for example purpose import pip print str(pip.get_installed_distributions())

No estoy 100% seguro de que funcione como estaba previsto, es posible que haya perdido algo por completo.


Yo uso zsh-autoenv que se basa en autoenv .

zsh-autoenv automáticamente los archivos .autoenv.zsh (conocidos / incluidos en la lista blanca), que normalmente se utilizan en los directorios raíz del proyecto. Maneja los eventos "entrar" y dejar ", anidamiento y ocultación de variables (sobrescritura 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 salgo del directorio dtree , el entorno virtual se dtree automáticamente.


para activar el entorno virtual de Python:

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

para desactivar:

$deactivate


Definí un workoff de alias como el opuesto de workon:

alias workoff=''deactivate''

Fácil de recordar:

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


$ deactivate

Si esto no funciona, intente

$ source deactivate

Cualquiera que sepa cómo funciona el source bash pensará que es extraño, pero algunos envoltorios / flujos de trabajo en torno a virtualenv se implementan como un complemento / contraparte a la source activate . YMMV