19

我以前在使用 virtualenvwrapper 时从来没有看到过这条消息,但是现在每当我运行时突然看到这条消息,比如说,mkvirtualenv <environment>或者workon <environment>

Usage: source deactivate

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

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

我正在运行 OS X 10.8.4。

4

3 回答 3

17

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

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

于 2014-06-05T23:03:32.257 回答
1

从https://www.continuum.io/downloads安装 Anaconda 后,这发生在我身上。如果您不需要该程序并且它将被卸载,请从您的 ~/.bash_profile 中删除以下内容:

added by Anaconda2 4.2.0 installer
export PATH="//anaconda/bin:$PATH"
于 2016-11-07T16:14:14.083 回答
0

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

在 Mac 上似乎提供的所有 virtualenvwrapper 都是源激活的工作快捷方式,您可以在 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'

于 2017-08-19T03:30:21.120 回答