如何离开/退出/停用python virtualenv?
我使用的是virtualenv和virtualenvwrapper。 我可以使用workon命令在virtualenv之间切换。
me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$
但是,如何退出所有虚拟机并再次运行我的真机? 现在,我必须回到过去的唯一途径
me@mymachine:~$
是退出shell并开始一个新的。 这有点令人讨厌。 有没有一个命令“没有”,如果是的话,它是什么? 如果这样的命令不存在,我将如何去创建它?
通常,激活virtualenv会为您提供一个名为:
$ deactivate
这使事情恢复正常。
编辑1
我刚刚再次查看了virtualenvwrapper,
的代码,是的,它也支持deactivate
作为从所有virtualenvs转义的方式。
编辑2
如果您试图离开Anaconda环境,则该过程有点不同:运行双字命令source deactivate
因为它们使用独立脚本实施停用。
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.
我定义了一个别名workoff作为workon的对立面:
alias workoff='deactivate'
容易记住:
[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$
$ deactivate
如果这不起作用,请尝试
$ source deactivate
任何知道bash source
作品的人都会觉得这很奇怪,但是一些关于virtualenv的包装/工作流实现为source activate
的恭维/对应。 因人而异