如何在 Ubuntu 16.04 上将 Python 更新到最新版本

And*_*dre 4 python python-2.7 python3 16.04

我正在尝试更新我的 python 版本,但每当我尝试:

 pip install --upgrade python
Run Code Online (Sandbox Code Playgroud)

输出是:

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade
your Python as Python 2.7 is no longer maintained. A future version of pip will drop
support for Python 2.7. More details about Python 2 support in pip, can be found at
https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
Requirement already up-to-date: python in /usr/lib/python2.7/lib-dynload (2.7.12)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

Rus*_* A. 5

PIP 用于将 python 包安装到您的 python 安装中。它不适用于安装新的 python 版本。为此,您可以运行:

sudo apt-get install python3.8
Run Code Online (Sandbox Code Playgroud)

这是目前最新版本。您已经在 Ubuntu 中安装了 python 3.x。要获取其版本,请运行“python3 --version”。例如,如果您有 3.6.3,则可以将其更新到 3.6.9,但不能将其转换为 3.7 或 3.8 - 这应该是单独安装。将 python 环境分开是非常有用的 - 请查看本指南:使用 pip 和虚拟环境安装包


lov*_*sus 5

  • 不能在前两位数内更新python 版本(就我而言)

也就是说,虽然,您可以更新python3.8您的当前版本(假设3.8.2)到最高的可用存储库(比方说3.8.5)的标准sudo apt-get update,你不能从更新python3.8python3.9,无论是从python2.7进入python 3.5:您必须安装版本的新平行于第一一。这样,两个版本3.83.9都将安装在您的 Ubuntu 中。

例如,在您的情况下,如果您按照@Rustam 所说的去做sudo apt-get install python3.8,您将不会更新python2.7python3.8,但您会同时安装 python 版本2.73.8.

  • 为什么我们只能安装并行版本而不能更新?

原因由@Rinzwind 给出。如果我们删除另一个版本的 python,我们可能会破坏所有依赖于该版本的软件,即我们可能无法使用新版本运行它。最好的例子就是python2和python3软件不兼容。但是我也遇到了尝试python3.5使用python3.8.

  • 现在,所有 python 版本中的哪个使用我的 Ubuntu?

您可以通过“python 链接”看到这一点。这些是/usr/bin目录中的链接。就去那里跑吧ll | grep python。你会看到3个重要环节:python python2python3告诉你的版本,你的工作系统使用。

例如,在我的 Ubuntu 中,我有

python -> python3
python2 -> python2.7
python3 -> python3.8
Run Code Online (Sandbox Code Playgroud)

这意味着,如果python在没有指定任何版本的情况下执行,python3将是选择的版本。如果python2执行,则选择的版本是2.7. 最后,如果python3执行,则选择的版本是3.8.