我使用Conda在Python中进行软件包管理。我有一个几乎所有时间都在使用的基本环境,并且我希望在打开终端时默认加载它。如何设置.bashrc
加载环境?
到目前为止,我尝试了source activate myenv
,但是我的理解是我需要在.bashrc
文件中提供实际路径。然后我尝试了source ~/anaconda3/envs/myenv/bin/activate
。尽管这不会引发错误,但是也不会激活环境。我正在运行Ubuntu 16.04。
我使用Conda在Python中进行软件包管理。我有一个几乎所有时间都在使用的基本环境,并且我希望在打开终端时默认加载它。如何设置.bashrc
加载环境?
到目前为止,我尝试了source activate myenv
,但是我的理解是我需要在.bashrc
文件中提供实际路径。然后我尝试了source ~/anaconda3/envs/myenv/bin/activate
。尽管这不会引发错误,但是也不会激活环境。我正在运行Ubuntu 16.04。
Answers:
似乎已接受的答案可能已过时。从文档:
如果您的外壳是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文件中!^^^
正确修复
(适用于> = 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
)删除整个内容,再次运行安装脚本,并注意提示,因为如果要自动启动它会提示您。
随便你的船:)
如果您希望在启动新的bash终端时默认激活conda环境,则可以将以下行添加到~/.bashrc
文件中:
export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH
您应该<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>
在上面的行中替换为conda环境的完整路径。
您可以将以下行添加到~/.bashrc
文件中:
export PATH=~/anaconda3/envs/myenv/bin:$PATH
基本上,我们将bin
conda环境的目录添加为PATH中的第一个条目,这实际上是activate
便捷脚本将执行的操作。此后,当您打开新的bash终端时,默认情况下conda环境将被“激活” /“启用”。
请注意,您可能不会像看到的那样看到(myenv)
bash提示符的前缀source activate myenv
。如果您还希望在提示符下显示前缀,请在~/.bashrc
文件中添加以下行:
export PS1="(myenv)"$PS1
(myenv)
您可以提供的任何自定义名称在哪里,将显示为bash提示符的前缀。
conda info --envs
仍显示root
当前环境。有什么理由不能将source activate py34
〜/ .bashrc 添加(py34是我的环境名称)吗?似乎可行,但是否由于某些原因不建议这样做?
PATH
变量指向的bin
是conda环境文件夹下的文件夹,而不是base / root bin文件夹。例如:~/anaconda3/envs/myenv/bin
and not ~/anaconda3/bin
)是。您只需将anaconda bin文件夹(例如:)添加~/anaconda3/bin
到系统PATH中,然后source activate ENV_NAME
在~/.bashrc
或中~/.bash_profile
。不建议这样做,因为配置文件(~/.bashrc
或~/.bash_profile
)本身是来源,并且在打开新的bash终端时不会执行。
采用:
conda init bash
这将自动编辑您的.bashrc
。
要激活conda环境,只需将其放在.bashrc文件的末尾以打开.bashrc打开终端,请转到主目录。运行/输入nano .bashrc
,在提示符后将以下内容放在文件末尾:
conda activate my_environment_name
现在保存.bashrc文件(Ctrl+ Shift+ o),按Enter键。
~$
,除了~$
(什么都没有)什么都没有。~
或$HOME
将参考/home/user/
~$
即使没有一条道路,任何人都无法理解为正确的道路?