最近,我对 Ubuntu 9.10 进行了发行版升级。此过程导致我最喜欢的闪存卡程序 mnemosyne 被删除,因为它依赖于 python-qt3 - 而 python-qt3 因升级过程而被删除。当我尝试安装 python-qt3 时,我收到此错误消息:
The following packages have unmet dependencies:
python-qt3: Depends: python-sip4 (<= 4.10) but 4.10.0-0ubuntu1~karmic1~ppa1 is to be installed
E: Broken packages
在这种情况下,我应该尝试什么才能重新安装我的 Mnemosyne?
答案1
看起来您正在从 backports 存储库运行 python-sip4。对吗?
因果版本: http://packages.ubuntu.com/karmic/python-sip4
反向移植: https://launchpad.net/~kubuntu-ppa/+archive/beta/+index?start=75&batch=75
我会安装apt-show-versions然后从您配置的各个存储库中检查可以安装哪些 python-sip4 包:
apt-show-versions -a python-sip4
然后尝试安装 apt-show-versions 输出中列出的核心 Karmic 版本:
aptitude 安装 python-sip4=4.9.1-snapshot-20091015-0ubuntu1
不幸的是,这可能会导致更多问题,特别是当您使用需要较新版本的 python-sip4 的 backport 存储库中的包时。
另外,下次运行 apt-get upgrade 时,它可能会想要升级到 python-sip4 4.10。因此,您要么需要删除 backports 存储库,要么锁定您当前安装的版本。
最好的办法是删除已安装的所有第三方存储库,将安装恢复为“纯” Karmic 存储库,然后从那里继续: http://it.toolbox.com/blogs/locutus/how-to-revert-to-a-pure-debian-system-25978
(本文涉及 Debian,但同样适用于 Ubuntu)
答案2
是否可以使用安装了较新的库和开发包的“源代码”构建 mnemosyne?
如果没有,尽管我不愿意推荐它:最干净的解决方案是(从源代码)制作一个本地版本(不要安装到/usr/local!)的python,包括您的应用程序所需的库链,以及该应用程序的本地版本(也来自源代码,并使用正确的构建参数使其使用您的本地python)。