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

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

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

 pip install --upgrade python

输出为:

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)

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

答案1

  • 无法更新前两位数字内的 python 版本(就我而言)

也就是说,尽管你python3.8从当前版本(假设)更新3.8.2到存储库中可用的最高版本(假设3.8.5),按照标准sudo apt-get update,你不能更新从python3.8python3.9,既不从python2.7python 3.5:你必须安装新版本平行线替换为第一个。这样,3.8和两个版本3.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 python2和,python3它们告诉您操作系统使用的版本。

例如,在我的 Ubuntu 中

python -> python3
python2 -> python2.7
python3 -> python3.8

这意味着,如果python执行时未指定任何版本,python3则 将是所选版本。如果python2执行 则所选版本为2.7。最后,如果python3执行 则所选版本为3.8

答案2

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

sudo apt-get install python3.8

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

相关内容