python - Conda 命令在命令提示符下工作但不在 bash 脚本中工作

标签 python bash shell conda

只要我只是通过 linux 终端(bash shell)使用它,我的 anaconda (4.5.4) 就可以正常工作。但是,在 bash 脚本中运行 conda 命令根本不起作用。

脚本 test.sh 包含这些行:

#!/bin/bash
conda --version
conda activate env

现在,运行 bash test.sh 会导致错误 test.sh:第 2 行:conda:找不到命令 test.sh:第 3 行:conda:找不到命令

As recommended for anaconda version > 4.4 my .bashrc does not contain

export PATH="/opt/anaconda/bin:$PATH",

但是

. /opt/anaconda/etc/profile.d/conda.sh

谢谢。

最佳答案

感谢@darthbith 的评论,我解决了这个问题。

由于 conda 是一个 bash 函数,并且 bash 函数不能传播到独立的 shell(例如,通过执行 bash 脚本打开),因此必须添加以下行

source /opt/anaconda/etc/profile.d/conda.sh

在调用 conda 命令之前添加到 bash 脚本。否则 bash 将不知道 conda。

关于python - Conda 命令在命令提示符下工作但不在 bash 脚本中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779016/

相关文章:

linux - 文件名操作

linux - 如何在 bash 中对齐文本?

python - 故障训练 SVM(scikit-learn 包)

python - 有进度地递归复制文件

python - 日文、韩文字符未显示在列表中,但单独打印时显示正常

bash - 如何在bash中删除多个匹配项

python - 当两行的值不同时,如何合并/组合 DataFrame 中列/系列中的两行?

R Markdown : Can't access Bash command installed through Conda/Anaconda

bash - ubuntu/macos 中的单行打印文件校验和

bash - Shell脚本运行命令创建多个进程