/dev/null th-6ren">
gpt4 book ai didi

python - 用于安装 conda 的 Bash 脚本会导致 "conda: command not found",除非我之后在命令行运行 `bash`

转载 作者:行者123 更新时间:2023-12-03 10:00:18 26 4
gpt4 key购买 nike

我正在尝试编写一个脚本来安装 miniConda,然后激活一个 conda 环境。

这是代码的相关部分:

if ! command -v conda --version &> /dev/null
then
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda.sh
bash conda.sh -b -p ~/local/miniconda3
rm -f conda.sh
~/local/miniconda3/bin/conda init bash
. ~/.bashrc
fi
conda config --set auto_activate_base false

conda create -yn my_env
eval "$(conda shell.bash hook)"
conda activate my_env

当我运行脚本时,终端上的输出看起来好像 conda 安装成功了。我收到一长串消息,通读所有消息后,很明显一切都成功了。 (它类似于 Solving environment: done,如果有帮助的话)。

但是,当我在我的终端运行 conda --version 来测试我是否安装了 conda 时,我收到错误消息 conda: command not found

如果我遵循 this,我可以让 conda --version 按预期工作StackOverflow 回答并在我的终端中输入 bash,然后从那里运行 conda --version

我已经阅读了很多关于 shell 和子 shell 以及它们与 conda 的关系的答案。我有一个模糊的想法,我的问题与在子 shell 而不是父 shell 中执行的东西(?)有关,并且可能与采购 ~/.bashrc 错误(?)有关.不过,我需要一些关于细节的主要指示。

对于无法提出更好的问题,我深表歉意。如果我对要问的问题有更具体的想法,我会用谷歌搜索。 :)

注意:我脚本中的一些内容(如 ~/local/miniconda3/bin/conda init bash; .~/.bashrc)是从其他 StackOverflow 答案中复制的。我非常仔细地阅读了对这些 SO 问题的解释,但不幸的是,除了一般的想法“如果你这样做它会起作用”,我并没有得到更多。如果有人回答也可以解释这些行是否与我的问题有关,那就太好了。

最佳答案

可能安装脚本正在向 $PATH 添加一些东西,直到 shell 重新启动或重新获取配置文件时才会发现。您可以在脚本末尾尝试 exec $SHELL 来生成一个新的 shell,它将接收此类更改。

关于python - 用于安装 conda 的 Bash 脚本会导致 "conda: command not found",除非我之后在命令行运行 `bash`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64090326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com