在终端调用时使用默认Python而非Anaconda安装

88 投票
10 回答
114115 浏览
提问于 2025-04-18 12:42

我最近安装了Anaconda版本的Python。现在,当我在终端里输入python时,它打开的是Anaconda的版本,而不是默认的版本。我该怎么做才能让Linux上输入python时使用默认版本呢?(我用的是Ubuntu 12.04(精准穿山甲))

10 个回答

4

在2020年,就像@spacetyper提到的那样,它的表现有所不同。我从这个问题中找到了一个很实用的解决办法:如何防止Conda默认激活基础环境?

要禁用自动激活基础环境:

conda config --set auto_activate_base false

第一次运行后,它会在你的主目录下创建一个./condarc文件。

5

在2020年,Conda在你的.bash_profile文件底部添加了一段比较复杂的代码,内容大概是这样的:

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

如果你想默认使用系统自带的Python:只需要把这段代码移动到你的.bash_profile文件的最上面。

如果你想有选择地使用Conda安装的Python:在上面的Conda代码块下面添加这一行。

alias pyconda="/Users/spacetyper/opt/miniconda3/bin/python3"

现在你应该可以用python来调用系统自带的Python,而用pyconda来调用Conda安装的Python了。

9

我也遇到过同样的问题,你可以这样做。

打开你的 .bashrc 文件,你会看到类似下面的内容:

export PATH=~/anaconda3/bin:$PATH

把那一行前面加上#,然后改成:

alias pyconda='~/anaconda3/bin/python3'

或者根据你的实际路径来写。这对我有效。

22

经过尝试了所有的建议,我觉得修改文件 ~/.bashrc 中的导出语句,正如 Piotr Dobrogost 所建议的,是最好的选择,原因如下:

  • 如果你把整个语句删掉,那你在使用 Conda 的时候,就得输入完整的路径来找到它的程序。
  • 使用 Conda 4.4.10 的时候,目录 anaconda/bin/ 中的链接指向的是同一目录下的程序,而不是系统目录 /usr/bin 下的程序。
  • 采用这种方法,你可以在不输入完整路径的情况下,使用所有之前已经包含在 $PATH 中的系统程序,以及特定于 anaconda 的程序。

所以在文件 ~/.bashrc 中,应该用

# Added by the Anaconda3 4.3.0 installer
export PATH="/home/user/anaconda3/bin:$PATH"

而不是用

export PATH="$PATH:/home/user/anaconda3/bin"
82

Anaconda会把它的路径加到你的.bashrc文件里,这样它就会被优先找到。如果你不想用Anaconda,可以把你默认的Python路径加到.bashrc里,或者把Anaconda的路径删掉。

你也可以在Bash中直接使用完整路径/usr/bin/python来调用默认的Python解释器。

如果你不对.bashrc文件做任何修改,那么每次你用python命令时,都会使用Anaconda的解释器。如果你愿意的话,也可以为每个解释器设置一个alias(别名)。

在你的.bashrc文件中,你会看到类似export PATH=$HOME/anaconda/bin:$PATH的内容。

简单来说,如果你想把Anaconda作为你日常使用的主要解释器,可以使用默认Python的完整路径,或者创建一个alias。如果你想反过来使用默认的Python,就把export PATH=...这一行从.bashrc中删掉,然后用Anaconda Python解释器的完整路径。

撰写回答