在 Ubuntu 上安装了 Python 3.8,但它不是默认的

GAU*_*RMA 6 python ubuntu python-3.x

我已经在我的 Ubuntu 16.04 上下载了 Python 3.8,如果我写python3.8它会显示它存在,但是当我写的时候我python --version得到了我的旧 Python 版本 3.5

wja*_*rea 13

设置别名:

alias python=python3.8
Run Code Online (Sandbox Code Playgroud)

然后python在 Bash 中运行将运行python3.8.

要使更改永久化,请将别名行放在~/.bashrc. 当你打开 Bash 时它会生效。


符号链接

为什么不符号链接/usr/bin/pythonpython3.8

Ubuntu 遵循PEP 394,它说python命令应该指向 Python 2。但是别名可以工作,因为它只影响你的 shell。它甚至不会影响您编写的脚本,这意味着如果您希望脚本在 Python 3.8 中运行,则必须在 shebang 中明确地编写它,例如,#!/usr/bin/env python3.8而不是#!/usr/bin/env python.

为什么不至少符号链接/usr/bin/python3python3.8

由于存在特定于版本的库,因此有些事情会中断。例如_gi,不适用于 Ubuntu 16.04 上的 Python 3.8,因此 Gnome 终端不会打开。有关示例,请参阅Gnome 终端不会在 Ask Ubuntu 上启动


更多细节


小智 3

一切都取决于你如何安装python3.8。许多方法不会为您更新默认符号链接。

如果您执行以下操作: sudo ln -s /usr/bin/python3.8 /usr/local/bin/python然后运行python --version它应该可以解决您的问题。

如果您的 python3.8 二进制文件不在,请/usr/bin/python3.8相应地更新您的符号链接路径。

请记住,某些依赖于较低 Python 版本的特定功能的应用程序可能无法正常工作。但对于 Python3,这种可能性很低。