如何修复 Ubuntu 22.04 上的 Python3.10 错误

如何修复 Ubuntu 22.04 上的 Python3.10 错误

将 ubuntu 从 v20 更新到 v22 后遇到了一些问题,我真的需要你的帮助。

我确实弄乱了一些 python 文件,现在绝大多数“apt”命令根本无法工作。

由于我的 ubuntu-desktop 已经出现问题,我想重新安装它。问题是,它确实正确卸载了,但我无法安装它,我总是得到相同的 python 错误:

python3 : Depends: libpython3-stdlib ( = 3.10.11-1+focal1) but it is not going to be installed

python3.10 : Depends: libpython3.10-stdlib (= 3.10.11-1+focal1) but it is not going to be installed

python3.10-minimal : Depends : libpython3.10-minimal (=3.10.11-1+focal1) but it is not going to be installed```



基本上,我已经尝试了在网上能找到的所有方法。

没有任何 apt/apt-get/purge/autoremove/fix-broken,...命令工作 add-apt-repository 也坏了

所以现在我基本上被困在一个只能使用 CLI 的 ubuntu 上,无法安装任何东西,我真的不知道该怎么做。

在尝试恢复我的计算机时,我可能把它弄得比以前更乱,而且我可能现在安装了多个 python,但我甚至不确定如何检查它。

答案1

一种方法:备份您的数据,然后全新安装 Ubuntu 22.04。

我尝试了网上能找到的所有方法“太模糊了,无法理解您可能做了什么,并且对于大多数人来说,重新安装比您不知道如何进行的故障排除要快得多。

展望未来,有两种安全的方法可以让不同版本的 Python 共存而不会破坏您的系统。您应该至少掌握其中一种。在当前系统上使用它们已经太晚了——损害已经造成。

  1. 虚拟化
  2. 正确使用update-alternatives

答案2

在尝试此操作之前,请备份您的重要数据并为 jammy 制作适当的安装媒体!

mkdir $HOME/backup/

然后我们将 sources.list 从外部包源中移到这个文件夹中。

sudo mv /etc/apt/sources.list.d/* $HOME/backup/

然后我们从您的旧 sources.list 中进行备份。

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

创建新的

deb http://archive.ubuntu.com/ubuntu jammy main restricted

deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted

deb http://archive.ubuntu.com/ubuntu jammy universe
deb http://archive.ubuntu.com/ubuntu jammy-updates universe

deb http://archive.ubuntu.com/ubuntu jammy multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates multiverse

deb http://archive.ubuntu.com/ubuntu jammy-security main restricted
deb http://archive.ubuntu.com/ubuntu jammy-security universe
deb http://archive.ubuntu.com/ubuntu jammy-security multiverse
deb http://archive.canonical.com/ubuntu jammy partner

当我们尝试通过 apt 固定来强制软件包到 jammy 版本时。创建

sudo nano /etc/apt/preferences.d/jammy.pref

内容如下。

Package: *
Pin: release n=jammy
Pin-Priority: 1001

刷新包缓存

sudo apt update

首先进行部分升级的模拟注意这是 Debian 的方式。

apt -s upgrade

仔细检查输出。如​​果 apt 提示您正在做一些危险的事情(删除必要的软件包),请停止。然后按照@user535733 所说的重新安装。

如果没有错误

sudo apt upgrade

然后进行下一次模拟

sudo apt -s full-upgrade

在真正执行命令之前,请再次检查输出。

sudo apt full-upgrade

请注意,这是修复安装的危险尝试。这就是为什么在安装前进行备份和使用可用的安装介质如此重要。

相关内容