我正在尝试运行以下命令:

source activate env-name

但是我收到一个错误,告诉我必须对 activate 进行调用。在 Conda activate 脚本中,在开头附近有一个 if 块来测试 "$(basename "$0")" ,特别是它是否等于 activate ,在这种情况下,它将引发我所指的异常。稍微摆弄一下脚本(即 echo $0; return 1 ),我发现它确实认为我传入的第 0 个参数是 activate 而不是 source 。这令人困惑,因为我知道我的命令中包含 source 并且它应该是第 0 个参数。我不确定还有什么可做的。有人有任何线索吗?

万一这很重要,我使用 zsh 作为我的默认 shell,似乎 activate 脚本是一个 bash 脚本,但我认为这无关紧要(它对我来说并不重要,仅在我的这个特定环境中)工作笔记本电脑)。我可以通过注释掉整个检查(以及其他一些小的更改)来解决整个问题,但是在这种特殊情况下我宁愿不必这样做。

最佳答案

我遇到了同样的问题,我找到的唯一解决方法是:

source <PATH TO ANACONDA>/anaconda3/bin/activate <ENV NAME>

编辑:添加行:
export PATH=$PATH:<PATH TO ANACONDA>/anaconda3/bin:$PATH

到您的 bashrc(或 zsh 等)会将源添加到您的路径,您将能够正常使用 source

关于bash - Conda env 激活 : Weird "must be sourced" error,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35262944/

10-15 05:03