为什么每当我运行virtualenvwrapper命令时,我突然看到`Usage:source deactivate`?

时间:2013-11-08 21:45:38

标签: python virtualenvwrapper anaconda

在使用virtualenvwrapper之前,我从未习惯看到此消息,但现在每当我跑步时,我都会突然看到此消息,例如mkvirtualenv <environment>workon <environment>

Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH. 

我根本没有修改virtualenvwrapper,快速谷歌搜索只产生this GitHub issue - 我确实安装了IPython / Anaconda,但我不确定它是如何干扰virtualenvwrapper的。在任何情况下,我都尝试更新两个(conda update conda; conda update ipython),以及将virtualenvwrapper本身更新为v4.1.1,但我仍然看到这个错误。

我正在运行OS X 10.8.4。

3 个答案:

答案 0 :(得分:17)

workon中定义的

/usr/local/bin/virtualenvwrapper.sh调用deactivate。 Anaconda的bin中存在一个同名脚本,因此它可以被workon调用。

到目前为止,我发现的最佳解决方案是在Anaconda的bin中重命名激活和停用。如果有更好的解决方案,请发表评论,我会更新此答案。

答案 1 :(得分:1)

https://www.continuum.io/downloads安装Anaconda后发生了这种情况。如果您不需要该程序并将其卸载,请从〜/ .bash_profile中删除以下内容:

added by Anaconda2 4.2.0 installer
export PATH="//anaconda/bin:$PATH"

答案 2 :(得分:0)

Anaconda已经知道激活和不同环境的位置,因此不需要virtualenvwrapper。

所有virtualenvwrapper似乎在Mac上提供源激活的工作快捷方式,您可以在bash.rc文件中使用别名并卸载virtualenvwrapper。

只需在下面添加〜/ anaconda / bin的别名行,就像下面的示例一样。

# added by Anaconda3 4.3.1 installer
export PATH="$HOME/anaconda/bin:$PATH"

# Add workon alias here!
alias workon='source activate'

现在,当我运行'workon Django'时,它会运行我的Anaconda Django虚拟环境,而不会提醒我'source deactivate'是退出的方式。

如果你没有抓住它,退出虚拟环境只需运行'source deactivate'