Conda 环境激活:奇怪的 "must be sourced" 错误
Conda env activation: Weird "must be sourced" error
我正在尝试 运行 以下内容:
source activate env-name
但是我收到一条错误消息,告诉我必须对 activate
进行调用。在 Conda activate
脚本中,开头附近有一个 if 块测试 "$(basename "[=14=]")"
,特别是它是否等于 activate
,在这种情况下它会引发我所指的异常。稍微修改一下脚本(即 echo [=16=]; 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
。
** 我没有足够的声誉,所以我回复这个。 (我只想发表评论,但我不能)
知道这个就可以解决
"Run 'Source activate envname'" 表示您必须 运行 在正确的路径或目录上执行此命令。
如果你在 /home/user/anaconda3/ 上安装 anaconda3
您正确的源路径是 /home/user/anaconda3/bin/
/home/user/anaconda3/bin/ activate tensorflow
或
cd /home/user/anaconda3/bin
. activate tensorflow
所以,我已经通过添加路径(或移动正确的路径)解决了这个问题
我得到了类似的错误,因为我正在使用 asdf-vm which masks actual binaries with shims. As documented here,需要获取源的脚本必须直接访问,因为 asdf 使用 exec
系统调用。因此,就我而言,以下命令有效:
source $(asdf which activate) <ENV NAME>
虽然此答案特定于 asdf,但您收到的错误表明您处于类似情况,即对 activate
的调用被其他人拦截可执行文件。
我正在尝试 运行 以下内容:
source activate env-name
但是我收到一条错误消息,告诉我必须对 activate
进行调用。在 Conda activate
脚本中,开头附近有一个 if 块测试 "$(basename "[=14=]")"
,特别是它是否等于 activate
,在这种情况下它会引发我所指的异常。稍微修改一下脚本(即 echo [=16=]; 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
。
** 我没有足够的声誉,所以我回复这个。 (我只想发表评论,但我不能)
知道这个就可以解决
"Run 'Source activate envname'" 表示您必须 运行 在正确的路径或目录上执行此命令。
如果你在 /home/user/anaconda3/ 上安装 anaconda3
您正确的源路径是 /home/user/anaconda3/bin/
/home/user/anaconda3/bin/ activate tensorflow
或
cd /home/user/anaconda3/bin
. activate tensorflow
所以,我已经通过添加路径(或移动正确的路径)解决了这个问题
我得到了类似的错误,因为我正在使用 asdf-vm which masks actual binaries with shims. As documented here,需要获取源的脚本必须直接访问,因为 asdf 使用 exec
系统调用。因此,就我而言,以下命令有效:
source $(asdf which activate) <ENV NAME>
虽然此答案特定于 asdf,但您收到的错误表明您处于类似情况,即对 activate
的调用被其他人拦截可执行文件。