![安装 Python-Dev 时出现问题](https://linux22.com/image/1114623/%E5%AE%89%E8%A3%85%20Python-Dev%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我在安装时遇到问题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
我已经尝试了帖子里的大部分内容未满足的依赖关系。我正在运行 Ubuntu 12.04,并且已更新所有内容。我已经完成了apt-get clean
。apt-get autoclean
我已经尝试了apt-get -f install
该主题的所有变体。我已经清理了我的 PPA。我甚至尝试使用 Aptitude,尽管它做了很多清理工作,但结果是一样的。
我真的很想能够安装 python-dev。我该如何实现呢?目前,我愿意考虑极端的选择,无论它们是什么。
答案1
这部分:
python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed
这表明您使用的存储库不匹配,或者存在一些 apt-pin,导致版本依赖关系无法对齐。我认为,具体来说,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 输出,看起来您已经2.7.3-0ubuntu3.1
安装了 python2.7 precise-updates/main
,但python2.7-dev
来自precise/main
。我认为您的安装媒体或早期的“apt-get update”包含了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
答案2
您不应该使用 pip 安装 numpy,而应该使用 Ubuntu 提供的包:
dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...
至于您的实际问题:尝试安装python2.7-dev
。它可能会失败,但应该会给您更好的错误消息。
答案3
最快的解决方案:
- 安装 (
sudo apt-get install synaptic
) Synaptic 包管理器并启动它 - 点击设置-存储库
- 选择下载自:主服务器
- 单击Close然后单击Reload。
- 标记
python-dev
为安装,Synaptic 还将标记python-dev
(libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev
)的所有依赖项。
我刚刚在新安装的 Ubuntu x86 12.04.3 上解决了同样的问题。
答案4
对于遇到此问题的人,首先尝试运行
sudo apt-get update
并尝试再次安装