安装Python-Dev时出现问题


16

我在安装时遇到问题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 cleanapt-get autoclean。我已经尝试过apt-get -f install该主题的所有变体。我已经清理了我的PPA。我什至尝试使用Aptitude,尽管进行了大量清理,但结果是相同的。

我真的很希望能够安装python-dev。我怎样才能做到这一点?在这一点上,我愿意考虑极端选择,无论它们可能是什么。


问题不在于安装python-dev。问题是获取src并包含传播到您的virtualenv的文件夹。
RobotHumans 2013年

您有什么建议吗?我正在使用--system-site-packages
theJollySin

1
阅读此内容:pythoncentral.org/…它说明了其实际工作方式。
RobotHumans 2013年

@CallmeV这是一篇很棒的文章,但可悲的是没有解决我要安装Python-Dev的问题。
theJollySin 2013年

1
@theJollySin-您使用的是哪个版本的ubuntu?请禁用所有PPA并运行sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade。将输出粘贴到paste.ubuntu.com
fossfreedom

Answers:


20

这一点:

 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正确中,因此您可能更愿意为-部分(而非全部)软件包提出建议。

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

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

有可能:

apt-cache show python2.7

...

阅读从引擎收录输出的apt-缓存,它看起来像你有python2.7 2.7.3-0ubuntu3.1precise-updates/main 安装,但python2.7-dev距离precise/main。我认为您的安装媒体或较早的“ apt-get更新”已包含该precise-updates存储库,但它不在您当前的source.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

1
我在apt-cache policy python2.7此处粘贴了类似的回复:paste.ubuntu.com/5775963
theJollySin 2013年

5

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

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

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


好的,您的第一个声明:gdal如果可以通过PIP安装,还有其他软件包(如)会容易得多。您的第二点,我可以尝试一下,然后看看会发生什么。谢谢。
theJollySin

1
我同意pip是一个有用的工具,但请尽可能使用Ubuntu软件包,更容易更新。而且,如果您使用pip来安装软件包,则可能需要创建自己的virtualenv,因此不需要以root用户身份安装到/ usr / local。
丹尼斯·考斯玛克

好的,我将尝试坚持使用Ubuntu软件包。但这整个问题开始了,因为我可以numpy很好地工作,但是不能numpy导入到virtualenv。拥有virtualenv用于Python开发的工作系统绝对是目标。再次感谢。
theJollySin

1
但是,这是一个不同的问题:)使用带有--system-site-packages的virtualenv来访问通过apt安装的内容。
丹尼斯·考斯玛克

3

最快的解决方案:

  • 安装(sudo apt-get install synaptic)Synaptic软件包管理器并启动它
  • 单击设置-存储库
  • 选择从以下位置下载:主服务器
  • 单击,Close然后单击Reload
  • 标记python-dev为安装,Synaptic还将标记python-devlibexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev)的所有依赖项。

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


0

对于那些遇到此问题的人,请先尝试运行

sudo apt-get update

并尝试再次安装


不需要进行这样的介绍。给出您的答案。根据我的经验,不能总是unmet dependency使用以下方法解决sudo apt-get update
Mostafa Ahangarha '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.