如何在我的 .bashrc 中激活 conda 环境?

如何在我的 .bashrc 中激活 conda 环境?

我使用 Conda 进行 Python 包管理。我有一个基本环境,我几乎一直使用它,我希望在打开终端时默认加载它。我该如何设置.bashrc以加载环境?

到目前为止,我尝试过source activate myenv,但我的理解是我需要在.bashrc文件内提供实际路径。然后我尝试了source ~/anaconda3/envs/myenv/bin/activate。虽然这不会引发错误,但也不会激活环境。我正在运行 Ubuntu 16.04。

答案1

看起来接受的答案可能已经过时了。从文档

如果你的 shell 是 Bash 或 Bourne 变体,请使用以下命令为当前用户启用 conda

$ echo ". /home/<user>/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc

或者,对于所有用户,使用以下命令启用 conda

$ sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

上述选项将永久启用“conda”命令,但它们不会将 conda 的基本(根)环境放在 PATH 上。为此,请运行

$ conda activate

在你的终端中,或者将基础环境永久放在 PATH 中,运行

$ echo "conda activate" >> ~/.bashrc

在 conda 4.4 之前,激活 conda 的推荐方法是修改 ~/.bashrc 文件中的 PATH。你应该手动删除如下行

export PATH="/home/<user>/miniconda3/bin:$PATH"

^^^ 上面这一行不再应该出现在你的 ~/.bashrc 文件中!^^^

答案2

对于 bash 使用:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

这将自动编辑您的.bashrc

重新加载:

$ source ~/.bashrc

测试(安装Spyder):

$ conda install -c anaconda spyder

运行 Spyder

$ spyder

答案3

正确修复

(适用于 4.6 以上版本)

find . -type f -name 'conda' 检查 conda 二进制文件的位置,然后 cd 到它,或者只提供完整路径并运行

conda config --set auto_activate_base true

要停用,只需执行相同操作,但使用 false。显然:

conda config --set auto_activate_base false

快速而粗略的修复 #1

将以下内容粘贴到您的 .bashrc 中,用显而易见的内容替换并获取您的 .bashrc ( source .bashrc)。应该适用于 Miniconda3 版本 >= 4.6

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<YOUR_USER>/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/<YOUR_USER>/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

这是从我自己的 .bashrc 中剪切和粘贴的,您可以删除注释,但我发现它们作为分隔符很方便。

快速而粗略的修复 #2

使用您最喜欢的删除命令()删除整个内容rm -rf ~/miniconda3,再次运行安装脚本并注意提示,因为它会询问您是否要自动启动它。

随你便吧 :)

答案4

使用:

conda init bash

这将自动编辑您的.bashrc

相关内容