从 18.04 升级到 20.04 后,我的默认 python 版本是 2.7.18rc1

Rui*_*Cai 6 python 18.04 20.04

我们知道 Ubuntu 20.04 会将 python 3 设置为默认 python,但是从 18.04 升级到 20.04 后,我发现我的默认 python 版本是 2.7.18rc1 而不是 python3:

我的系统版本和python版本

kar*_*rel 2

如果安装了 Python 2,则在终端中运行该python命令会启动 Python 2 解释器,就像在 Ubuntu 20.04 中一样。python在 Ubuntu 20.04 中,您还可以通过安装python-is-python3软件包来启动使用命令预安装的 Python 3 。

sudo apt install python-is-python3
Run Code Online (Sandbox Code Playgroud)

您还可以通过运行以下命令以通常的方式从终端启动 Python 3 解释器python3


Ada*_*zek 1

除了安装python-is-python3的解决方案(Stephan Boston 的评论中提到)之外,还有一个使用update-alternatives或使用 GUI galternatives 的解决方案,它不仅适用于 python,还适用于任何工具及其任意数量的版本。

让我们从头开始吧。我新安装了 Ubuntu 20.04,在/usr/bin中甚至没有单独的python,而只有python3python2。您输入:

# update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# update-alternatives --install /usr/bin/python python /usr/bin/python2 9
# update-alternatives --config python
Run Code Online (Sandbox Code Playgroud)

输入最后一个命令后,系统会要求您手动选择首选版本或将选择保留在自动模式下,在我们的示例中,python3 的优先级 10 比 python2 的 9 更高,因此 python3 将是默认值。

 Selection    Path               Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3   10        auto mode
  1            /usr/bin/python2   9         manual mode
  2            /usr/bin/python3   10        manual mode
Run Code Online (Sandbox Code Playgroud)

如果我输入1

$ python --version
Python 2.7.18rc1
Run Code Online (Sandbox Code Playgroud)

我改变了主意,在update-alternatives --config python中为 auto选择0(竞价最高优先级):

$ python --version
Python 3.8.2
Run Code Online (Sandbox Code Playgroud)