如何退出/关闭/停用Python虚拟环境
我正在使用virtualenv和virtualenvwrapper。我可以通过workon
命令在不同的虚拟环境之间切换,操作起来很顺利。
me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$
那么,如何退出所有的虚拟环境,回到我的系统环境呢?现在,我唯一能回到me@mymachine:~$
的方法就是退出当前的命令行,然后重新打开一个新的。这有点麻烦。有没有什么命令可以让我“什么都不做”,如果有的话,那是什么?如果没有这样的命令,我该怎么去创建一个呢?
16 个回答
69
我定义了一个叫做 workoff 的 别名,它的意思是和 workon 相反:
alias workoff='deactivate'
这个别名很容易记住:
[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$
144
使用:
$ deactivate
如果这样不行,可以试试
$ source deactivate
了解 Bash 中的 source
是怎么回事的人可能会觉得这很奇怪,但有些关于虚拟环境的工具或流程把它当作 source activate
的补充或对应使用。具体效果可能因人而异。
4128
通常,激活一个虚拟环境会给你一个名为:
$ deactivate
的命令,这个命令可以让你恢复到正常状态。
我刚刚又仔细看了一下virtualenvwrapper
的代码,没错,它也支持deactivate
这个命令,用来退出所有的虚拟环境。
如果你想离开一个Anaconda环境,使用的命令会根据你的conda
版本而不同。最近的版本(比如4.6)会直接在你的命令行中安装一个conda
命令,这种情况下你可以运行:
conda deactivate
而旧版本的conda则是通过一个独立的脚本来实现退出的:
source deactivate