安装 Python-Dev 时出现问题

joh*_*nce 17 python apt python-2.7 software-installation

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

SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev.
Run Code Online (Sandbox Code Playgroud)

我试过了,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.
Run Code Online (Sandbox Code Playgroud)

然后我尝试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
Run Code Online (Sandbox Code Playgroud)

我已经尝试了 post unmet dependencies中的大部分内容。我正在运行 Ubuntu 12.04,并且我已经更新了所有内容。我做过apt-get cleanapt-get autoclean。我已经尝试过apt-get -f install该主题的所有变体。我已经清理了我的 PPA。我什至尝试使用 Aptitude,虽然它做了很多清理,但结果是一样的。

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

Ste*_*n K 20

这一点:

 python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed
Run Code Online (Sandbox Code Playgroud)

表明您正在使用一些不匹配的存储库,或者有一些 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
Run Code Online (Sandbox Code Playgroud)

有可能:

apt-cache show python2.7
Run Code Online (Sandbox Code Playgroud)

...

阅读从引擎收录输出的apt-缓存,它看起来像你有python2.72.7.3-0ubuntu3.1precise-updates/main 安装,但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
Run Code Online (Sandbox Code Playgroud)


Den*_*ker 5

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

dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...
Run Code Online (Sandbox Code Playgroud)

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