apt upgrade
:
$ sudo apt-get full-upgrade -y
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:
libpython3.10 : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
libpython3.10-dev : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
python3.10 : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
python3.10-minimal : Depends: libpython3.10-minimal (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
apt --fix-broken install
:
$ 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 10 not upgraded.
9 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] y
(Reading database ... 279178 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+fo
cal1
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)
试着消除安装了python3.10
软件包但导致错误 Unmet dependencies
这个错误信息是什么意思?有没有办法修复它?
答案1
尝试删除有问题的软件包,例如 libpython3.10-minimal libpython3.10-stdlib。
sudo apt remove libpython3.10-minimal libpython3.10-stdlib
如果这表示运行 --fix-broken 然后手动将其删除,即像这样
ls -l /var/lib/dpkg/info | grep -i libpython3.10-minimal
这将显示包含 的截断文件名libpython3.10-minimal
。现在将其移动到不同的目录
sudo mv /var/lib/dpkg/info/libpython3.10-minimal:amd64.* /tmp
然后做
sudo apt --fix-broken install
它会说没有找到 libpython3.10-minimal,所以它会重新安装它。
答案2
作为米和霍布斯据说,问题是一个文件从一个包移动到另一个包,现在它们在更新过程中互相影响。我按照他们的建议强制升级,但不得不稍微调整一下。以下是我最终做的事情:
sudo dpkg --force-all --remove libpython3.10-stdlib libpython3.10-minimal
这会强制卸载两个发生冲突的包,即使其他包依赖它们。
sudo apt-get install libpython3.10-stdlib libpython3.10-minimal
这样就可以再次安装它们,而不会互相踩踏。sudo apt --fix-broken install
此时可能也可以工作,但我没有尝试过。
答案3
答案调整自这里
无需删除它们,强制安装一个包,然后修复其余的。
sudo dpkg -i --force-overwrite /var/cache/apt/archives/libpython3.10-stdlib_3.10.4-1+focal2_amd64.deb
sudo apt --fix-broken install