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

Eli*_*der 26 python bashrc anaconda

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

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

小智 28

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

如果您的 shell 是 Bash 或 Bourne 变体,请为当前用户启用 conda

$ echo ". /home/<user>/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

或者,对于所有用户,启用 conda

$ sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh
Run Code Online (Sandbox Code Playgroud)

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

$ conda activate
Run Code Online (Sandbox Code Playgroud)

在您的终端中,或者要将基本环境永久放置在 PATH 上,请运行

$ echo "conda activate" >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

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

export PATH="/home/<user>/miniconda3/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

^^^ 以上行不应再出现在您的 ~/.bashrc 文件中!^^^


ald*_*tis 6

对于 bash 使用:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash
Run Code Online (Sandbox Code Playgroud)

这将自动编辑您的.bashrc.

重新加载:

$ source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

测试(安装 Spyder):

$ conda install -c anaconda spyder
Run Code Online (Sandbox Code Playgroud)

运行 Spyder

$ spyder
Run Code Online (Sandbox Code Playgroud)


小智 5

在 Anaconda 安装期间,应该有一个条目添加了 .bashrc 文件,如下所示

export PATH="/home/<user>/anaconda3/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

如果不存在,请通过运行验证安装which conda,并使用 bin 的路径更新 .bashrc。

这指向“conda”可执行文件,并设置处理 conda activate 的路径。

在导出命令后添加此行:

source activate <your_environment>
Run Code Online (Sandbox Code Playgroud)

从那里您可以source ~/.bashrc将环境加载到当前 shell。


run*_*el0 5

正确修复

(适用于版本 >= 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 <<<
Run Code Online (Sandbox Code Playgroud)

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

快速和肮脏的修复#2

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

无论什么让你的船摇摇欲坠:)