当前位置: 首页>>技术教程>>正文


apt – 安装 Python-Dev 时出现问题

, , ,

问题描述

我在安装 python-dev 时遇到了问题。这一切都始于我尝试安装另一个 Python 包时出现错误:

SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev.

我尝试了 sudo apt-get install python-dev 但出现错误:

The following packages have unmet dependencies:
 python-dev : Depends: python2.7-dev (>= 2.7.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

因此我尝试了 sudo apt-get install python2.7-dev 并收到错误:

The following packages have unmet dependencies:
 python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed
                 Depends: libpython2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed

我已经尝试了帖子 unmet dependencies 中的大多数内容。我正在运行 Ubuntu 12.04,并且已更新所有内容。我已经完成了 apt-get cleanapt-get autoclean 。我尝试了 apt-get -f install 以及该主题的所有变体。我已经清理了我的 PPA。我甚至尝试使用 Aptitude,尽管它做了很多清理工作,但结果是一样的。

我真的很想能够安装 python-dev。我该如何实现呢?目前,我愿意考虑极端的选择,无论它们是什么。

最佳方案

这部分:

 python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed

这表明您正在使用一些不匹配的存储库,或者有一些 apt-pins 使版本依赖关系无法对齐。我认为,具体来说,python-2.7 2.7.3-0ubuntu3.1 位于 Precise-proposed 存储库中,而 2.7.3-0ubuntu3 版本位于 Precise/main 中,因此您可能更喜欢对某些软件包(但不是所有软件包)使用 -proposed。

您能否编辑您的问题以包含以下内容的输出:

apt-cache policy python2.7-dev
apt-cache policy python2.7

或许:

apt-cache show python2.7

从 pastebin 读取 apt-cache 输出,看起来您安装了来自 precise-updates/main 的 python2.7 2.7.3-0ubuntu3.1,但 python2.7-dev 来自 precise/main 。我认为您的安装媒体或较早的“apt-get 更新”包含 precise-updates 存储库,但它不在您当前的 sources.list 中。

我认为您在添加 precise-updates 然后添加 apt-get update 后就可以开始安装了。

echo "deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted" | sudo tee -a /etc/apt/sources.list.d/precise-updates.list
sudo apt-get update
sudo apt-get install python2.7-dev

次佳方案

您不应该使用 pip 安装 numpy,而应该使用 Ubuntu 提供的包:

dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...

至于您的实际问题:尝试安装 python2.7-dev 。它可能会失败,但应该会给您更好的错误消息。

第三种方案

最快的解决方案:

  • 安装(sudo apt-get install synaptic)Synaptic 包管理器并启动它

  • 点击 Settings-Repositories

  • 选择下载自:主服务器

  • 单击 Close,然后单击 Reload

  • 标记 python-dev 进行安装,Synaptic 也将标记 python-dev (libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev) 的所有依赖项。

我刚刚在新安装的 Ubuntu x86 12.04.3 上解决了同样的问题。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14615.html,未经允许,请勿转载。