退出 root conda 环境

Get out of root conda environment

一旦我安装了 miniconda,我就永久处于根 miniconda 环境中,例如:

luc@montblanc:~$ conda info --envs
# conda environments:
#
bunnies                  /home/luc/miniconda3/envs/bunnies
expose                   /home/luc/miniconda3/envs/expose
testano                  /home/luc/miniconda3/envs/testano
testcondaenv             /home/luc/miniconda3/envs/testcondaenv
root                  *  /home/luc/miniconda3

使用此环境python3可执行结果:

luc@montblanc:~$ which python3
/home/luc/miniconda3/bin/python3

如何在不实际卸载的情况下离开这个根环境 python。例如。我要

luc@montblanc:~$ which python3
/usr/bin/python3

并在需要时明确引用 python 的 miniconda 分布(使用完整路径 /home/luc/miniconda3/bin/python3)。

我这样做并不想达到任何最终目标,我只是想了解发生了什么以及它是如何工作的。

查看您的 .bashrc 文件。 Miniconda 添加他们的路径并更改默认值,找到此文件然后更改或添加您想要的路径,或删除 anaconda/miniconda 路径。

在您的 .bashrc(可能是 ~/.bashrc)中,您会看到如下内容:

# added by Miniconda3 4.3.14 installer
export PATH="/path/to/miniconda3/bin:$PATH"

在此行之后添加您的路径,更改此路径,或者暂时在命令行上使用 export

Obs.

  • 在此之后,您可能必须使用 miniconda 调用 full 小路。
  • 更改 .bashrc 后重新启动会话。

这是一种无需编辑初始文件即可即时执行此操作的方法:

    (base) ➜  ~ which python
    /home/xxx/anaconda3/bin/python
    (base) ➜  ~ echo $PATH
    /home/xxx/anaconda3/bin:/home/xxx/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
 (base) ➜  ~ export PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/conda/ {next} {print}' | sed 's/:*$//')
    (base) ➜  ~ echo $PATH                                                                
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    (base) ➜  ~ which python
    /usr/bin/python
    (base) ➜  ~ 

或者您也可以只使用 conda deactivate。对于常规 python 环境,deactivate 或 source deactivate 应该有效,但如果您尝试这样做,您会得到使用 conda deactivate 的提示。

(base) mooreb@ubtest2:~$ deactivate
DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
(base) mooreb@ubtest2:~$ conda deactivate
mooreb@ubtest2:~$