我在 Kubuntu 19.10 上,我从源代码构建了 python 3.8 并使用 checkinstall 安装了它。然后我删除了它,它以某种方式破坏了 python 2.7。如果我尝试安装任何python-*
软件包,它会产生如下错误:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python-dev : Depends: python (= 2.7.17-1) but 3.8.1-1 is to be installed
E: Unable to correct problems, you have held broken packages.
我已经尝试过sudo dpkg --configure -a
,但这无济于事。
我该如何解决?
编辑:apt-cache policy python
输出:
python:
Installed: 3.8.1-1
Candidate: 3.8.1-1
Version table:
*** 3.8.1-1 100
100 /var/lib/dpkg/status
2.7.17-1 500
500 http://si.archive.ubuntu.com/ubuntu eoan/universe amd64 Packages
Python 3.8.1 以 python 名称安装,所以我所做的就是运行
sudo dpkg -r python
并解决了它。尝试运行
查看您的默认 python 版本是否为 2.7。如果没有,请查看是否安装了 python 2.7 可执行文件
使您的 /usr/bin/python 链接指向正确的 python 版本
最后,请确保在 /usr/bin/ 中有指向 python2.7 配置文件的链接。例如,我有 /usr/bin/python2-config 指向 python2.7-config
当你构建你的包时,看起来你称之为'python'而不是'python3.8'。
那是不明智的。现在系统期望“python”是 3.8 版而不是 2.7 版。
如果您有很多不想重新安装的 Python2 包,如何解决它:
1) 对您的所有数据和一个可用的 LiveUSB 进行完整备份。你将使用非常强效的药物。患者可能会出现意想不到的并发症。
2) 确保已删除构建的 Python 3.8 包的所有痕迹。
3) 删除
python
包安装的所有文件,同时保留 Python2.7 包的其余部分。python
4)从您的 apt/dpkg 数据库中删除该软件包的 所有痕迹。警告:如果使用不当,此命令可能会破坏您的系统。5)重新安装正确的
python
包: