停用 virtualenvwapper 和 anaconda 中的冲突

问题描述

我正在使用 virtualenv 来切换我的 python 开发环境.但是当我运行 workon my_env 时,我遇到了这样的错误消息:

I'm using virtualenv to switch my python dev env. But when I run workon my_env, I meet such error message:

Error: deactivate must be sourced. Run 'source deactivate'
instead of 'deactivate'.

Usage: source deactivate

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

在google上搜索了一下,似乎是在/usr/local/bin/virtualenvwrapper.sh中定义的workon调用了deactivate.而且Anaconda的bin里有一个同名的脚本,所以被workon误调用了.

After some searches on google, it seems that workon, which is defined in /usr/local/bin/virtualenvwrapper.sh, calls deactivate. And there is a script with the same name is present in Anaconda's bin, so it gets called by workon by mistake.

有解决此冲突的建议吗?

Any suggestion for working around this conflict?


解决方案

对我有用的一个解决方案是在 Anaconda 的 bin 中重命名 deactivate:

One solution which works for me is to rename deactivate in Anaconda's bin:

mv deactivate conda-deactivate

相关文章