安装 Anaconda 后,在 Linux Mint 中配置 python3 指向 /usr/bin/python3.8

Configure python3 pointing to /usr/bin/python3.8 in Linux Mint after installing Anaconda

我已经在我的 Linux Mint 20 机器上安装了 Anaconda 1.9.12,它默认安装了 python3.8。但是,安装后 pythonpython3 都指向 Anaconda 安装中的 python 解释器。

$ which python
~/anaconda3/bin/python

$ which python3
~/anaconda3/bin/python3

因为我希望 python3 指向 python3.8,我尝试 update-alternatives 通过发出以下命令来创建指向 python3\usr\bin\python3.8 的符号链接在终端中。

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 15

我想同时使用 Anaconda 提供的 Python 解释器和默认解释器。但是,我无法意识到这一点。我可能出了什么问题?

更新 1:我已经取消注释 Anaconda 在 ~/.bashrc 中所做的更改。即使那样可以让我使用发行版提供的 Python,我也无法启动 anaconda-navigator.

PS:这不是一个重复的问题。我已经提到了几乎所有类似的问题。大部分是不相关的问题,其余的都没有解决,就像我上面提到的那个

我刚刚在 Debian 中遇到了一个 similar 问题,安装了多个 CPython(2.7、3.8 和 3.9;显然全部来自发行版的存储库)。到目前为止,为了将首选项设置为版本 3.9,作者 «John» 在 skillsugar.com 上概述的方法对我来说效果很好:

  • 确定当前安装的 Python 解释器。简单的 which python / which python3 提供了对初始状态可能不完整的描述。按照原始来源的建议——假设安装在默认路径中——改为 运行 ls /usr/bin/python2*ls /usr/bin/python3*

  • 一个接着一个,我运行

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 3

    此处尾部的123仅作为后续步骤的优先级编号。

  • 第三步调用sudo update-alternatives --config python。在我的例子中,CLI 的输出显示如下 table:

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python2.7   3         auto mode
  1            /usr/bin/python2.7   3         manual mode
  2            /usr/bin/python3.8   2         manual mode
  3            /usr/bin/python3.9   1         manual mode

从这个菜单中,我选择了选项 3 并通过 Enter 确认。正如预期的那样,python 现在指的是 Python 3.9.2,同时保留对 Python 2.7.18 的访问(然后显式)调用 python2(仍然列在状态中“自动模式”)。此更改可能需要您在工作流程中进行后续调整(例如,使用 pytest-3 而不是 pytest)。