无法从 ubuntu 20.04LTS 中删除 python 3.10

无法从 ubuntu 20.04LTS 中删除 python 3.10

Ubuntu 20.04 默认自带 python 3.8 版本。我通过添加 deadsnakes ppa 安装了 python 3.10。运行“sudo apt remove python3.10”时出现以下错误。

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
python3.10-minimal : Depends: libpython3.10-minimal (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is to be installed
                  Recommends: python3.10 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

我该如何修复这个问题?我按照建议运行了“sudo apt --fix-broken install”;它给出了以下错误:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
libpython3.10-minimal libpython3.10-stdlib
The following packages will be upgraded:
libpython3.10-minimal libpython3.10-stdlib
2 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
7 not fully installed or removed.
Need to get 0 B/2,566 kB of archives.
After this operation, 68.6 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 206497 files and directories currently installed.)
Preparing to unpack .../libpython3.10-stdlib_3.10.4-1+focal2_amd64.deb ...
Unpacking libpython3.10-stdlib:amd64 (3.10.4-1+focal2) over (3.10.4-1+focal1) ...
dpkg: error processing archive /var/cache/apt/archives/libpython3.10-stdlib_3.10.4-1+focal2_amd64.deb (--unpack):
trying to overwrite '/usr/lib/python3.10/_sysconfigdata__linux_x86_64-linux-gnu.py', which is also in package libpython3.10-minimal:amd64 3.10.4-1+focal1
Preparing to unpack .../libpython3.10-minimal_3.10.4-1+focal2_amd64.deb ...
Unpacking libpython3.10-minimal:amd64 (3.10.4-1+focal2) over (3.10.4-1+focal1) ...
dpkg: error processing archive /var/cache/apt/archives/libpython3.10-minimal_3.10.4-1+focal2_amd64.deb (--unpack):
trying to overwrite '/usr/lib/python3.10/typing.py', which is also in package 
libpython3.10-stdlib:amd64 3.10.4-1+focal1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libpython3.10-stdlib_3.10.4-1+focal2_amd64.deb
/var/cache/apt/archives/libpython3.10-minimal_3.10.4-1+focal2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

今天发生在我身上,请看:这个答案升级 python3.10 时子进程 /usr/bin/dpkg 返回错误代码 (1)

ls -l /var/lib/dpkg/info | grep -i libpython3.10-minimal

sudo mv /var/lib/dpkg/info/libpython3.10-minimal:amd64.* /tmp

sudo apt --fix-broken install

答案2

首先确保您使用python3.8作为默认的python版本。

sudo update-alternatives  --set python3 /usr/bin/python3.8
sudo update-alternatives  --set python /usr/bin/python3.8

现在,尝试清除 PPA 以删除 python3.10

sudo apt install ppa-purge
sudo ppa-purge ppa:deadsnakes/ppa

相关内容