Python 3.4和2.7:无法安装numpy的python 3.4包

45

我正在使用Ubuntu 12.04,想要将Python 3.4与Python 2.7并行使用。

安装Python 3.4成功。然而,我无法为Python 3安装numpy包(因此也无法安装scipy、pandas等相关包)。

使用

 sudo pip3 install numpy

显示以下错误:

File "numpy/core/setup.py", line 289, in check_types

"Cannot compile 'Python.h'. Perhaps you need to "\

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

顺便提一下,我已经安装了python-dev。

此外,通过以下方式安装numpy

 sudo apt-get install python-numpy

由于我已经为Python 2.7安装了numpy,而安装程序回复numpy已经是最新版本,所以这也行不通。

我该怎么办?谢谢!

2个回答

86

您尚未安装Python 3的开发包。请安装python3.4-dev

apt-get install python3.4-dev

主要的软件包通常不包括开发头文件;Debian(以及Ubuntu)软件包政策是将它们放在单独的-dev软件包中。然而,安装numpy需要这些文件才能编译扩展程序。


5
对于那些像我一样在2015年遇到类似问题的人,需要将上述命令更改为“apt-get install python3.5-dev”。请注意,这句话是要求进行翻译的内容。 - tschoppi
3
对于未来的任何人:根据你当前的Python版本调整命令。是的,Ubuntu不会读取你的思想或日历。 :-P - Martijn Pieters
4
或者你可以直接使用apt-get install python3-dev命令,Ubuntu会自动识别你的版本并安装正确的点发行版。 - Dave LeBlanc
2
@DaveLeBlanc:这取决于Ubuntu版本,哪个版本是“当前版本”。在12.04上,那就是Python 3.2,而不是3.4。 - Martijn Pieters
1
你有什么想法可以修复MSYS2中的这个错误吗?我尝试安装mingw-w64-x86_64-python3,但是当我尝试使用pip安装numpy时出现了以下错误:SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel - Alex Eastman
@AlexEastman:抱歉,我没有使用MingW的经验。如果mingw-w64-x86_64-python3是一个软件包,请查找一个-devel-dev软件包来安装Python头文件,我猜是这样。 - Martijn Pieters

4

通过逐步增加python-dev软件包来解决问题,直到找到正确的版本。将来可能需要进一步增加。

Python开发人员实现不佳。

sudo apt-get install python3.7-dev


1
你可以运行 sudo apt-get install python3-dev,它会安装与你的python3版本对应的开发包。 - Nick ODell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接