我正在尝试更新我的 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.8
到python3.9
,既不从python2.7
到python 3.5
:你必须安装新版本平行线替换为第一个。这样,3.8
和两个版本3.9
都会安装在您的 Ubuntu 中。
例如,就你的情况而言,如果你按照@Rustam 所说的那样做sudo apt-get install python3.8
,你就不会更新python2.7
到python3.8
,但你会有两个都安装的 Python 版本2.7
和3.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 和虚拟环境安装软件包