更新 python 后 apt-get upgrade 不起作用

更新 python 后 apt-get upgrade 不起作用

我最近使用 将我的 Python 版本从 3.8 更新到了 3.10 sudo update-alternatives --config python3,但这似乎在某个地方导致了 apt 的问题。每当我尝试运行它sudo apt-get update时,它都会按预期工作。当我尝试运行时sudo apt-get upgrade,我遇到了以下问题。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up python-apt (2.0.0ubuntu0.20.04.6) ...
/var/lib/dpkg/info/python-apt.postinst: 6: pycompile: not found
dpkg: error processing package python-apt (--configure):
 installed python-apt package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
 python-apt
E: Sub-process /usr/bin/dpkg returned an error code (1)

当我尝试重新安装 python apt 来修复此问题时sudo apt install --reinstall python-apt,出现以下错误。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for python-apt:amd64

有人知道我该如何解决这个问题吗?我也无法打开软件更新程序。

答案1

这是意料之中的。APT(以及 Ubuntu 的许多其他组件)需要特定版本的 Python 才能正常运行。

要解决此问题,请使用以下命令回滚默认 Python 版本

sudo update-alternatives --config python3

要使用 python 3.10,只需使用命令python3.10(但不要将其链接到python3,这应该适用python3.8于您的情况)。

或者,使用虚拟 Python 环境

永远不要更改默认的 Python 版本,因为系统可能会变得非常混乱,在极端情况下,您将不得不重新安装 Ubuntu。这个网站充满了删除/更改默认 Python 版本的用户的眼泪。

注意:您可以使用死蛇 PPA在 Ubuntu 的 LTS 版本中安全地安装多个版本的 Python。

相关内容