我正在尝试编译 vim 并使用“--enable-pythoninterp”标志进行安装,这需要 python-dev 包。
信息
我从以下位置获得了 vim 源代码ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
Vim7.3 尚不能使用 apt。
使用Ubuntu 10.10
但是,sudo apt-get python-dev
会导致损坏的包错误消息 ->
以下软件包具有未满足的依赖关系:
python-dev :依赖:python (= 2.6.6-2ubuntu1) 但要安装 2.6.6-2ubuntu2
E: 损坏的软件包
我怎样才能最好地解决这个问题?
$ apt-cache policy vim python python-dev
Python: 安装:2.6.6-2ubuntu2 候选:2.6.6-2ubuntu2 版本表: *** 2.6.6-2ubuntu2 0 100 /var/lib/dpkg/状态 2.6.6-2ubuntu1 0 500 个 http://archive.ubuntu.com/ubuntu/maverick/main i386 软件包 维姆: 已安装:(无) 候选:2:7.2.330-1ubuntu4 版本表: 2:7.2.330-1ubuntu4 0 500 个 http://archive.ubuntu.com/ubuntu/maverick/main i386 软件包 蟒蛇开发: 已安装:(无) 候选:2.6.6-2ubuntu1 版本表: 2.6.6-2ubuntu1 0 500 个 http://archive.ubuntu.com/ubuntu/maverick/main i386 软件包
答案1
这是当您的软件包具有不同 apt 优先级时 apt 会生成的常见消息。请参阅 man apt_preferences。 python 2.6.6-2ubuntu1 的安装优先级不够高,因此 apt 正在尝试安装 2.6.6-2ubuntu2,但它不满足依赖关系。需要更多信息来解决此问题。请提供输出
$ apt-cache policy vim python python-dev
另请发布您的 /etc/apt/preferences 和 /etc/apt/sources.list 文件。还请详细说明您如何获取 vim 源代码。这是上游来源吗?您是否使用 apt-get source 或类似工具下载源代码?如果我理解正确的话,您正在尝试安装 vim 包的自定义版本。那是对的吗?
根据您的apt-cache policy
输出,您只需将 python 从降级2.6.6-2ubuntu2
为2.6.6-2ubuntu1
.如您所见,它当前不对应于档案中的任何版本。你知道你从哪里得到它吗?也如此
$ apt-get install python=2.6.6-2ubuntu1
然后尝试你的
$ sudo apt-get install python-dev
再次。
答案2
看起来您的更新在软件包上传之间获取了软件包:http://packages.ubuntu.com/maverick-updates/python-dev两个版本都应为 2.6.6-2ubuntu2。我会尝试:
apt-get update
然后重试
apt-get update
apt-get install python python-dev
如果这不起作用,我会尝试切换到另一个 ubuntu 镜像以从那里获取软件包。
答案3
如果你还没有,尝试将包存储库引用更改为“Main”或“United States”。这样做解决了我的 Python-dev 未满足依赖项问题(我的 12.04 安装曾是使用英国包存储库,之前)。
- 在“Ubuntu 软件中心”(USC) 中,转到菜单/选项卡“编辑 => 软件源”。
- 将“下载自”下拉值更改为“主服务器”或位于美国的服务器。
- 离开 USC,从 Ubuntu 的程序菜单中打开“更新管理器”,然后“检查”软件更新(或在终端窗口中发出“sudo apt-get update”)。
- 像平常一样更新您的软件,例如通过终端中的“更新管理器”或 apt-get/aptitude。
这修复了我的存储库,然后我继续像往常一样安装我需要的任何东西。
在按照上述说明纠正我的问题之前,各种 aptitude/apt-get 命令建议我删除很多很多软件包,但是,正如您所理解的,我不喜欢失去 6 个月以上的软件包添加,即使如此我有时会快照软件包列表(请参阅我的要旨以获得提示)!我真的很高兴我发现了我要离开这里的说明。
希望这可以帮助。