我使用 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
。