scikit-learn安装失败/找不到numpy /缺少numpy标头


问题内容

当我尝试通过以下方式在Suse(openSuse 12.2 x86_64)服务器上安装scikit-learn时:

pip install -U scikit-learn

我收到以下错误:

(....)

compile options: '-I/usr/lib64/python2.7/site-packages/numpy/core/include -Isklearn/svm/src/libsvm -I/usr/lib64/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c'

gcc: sklearn/svm/libsvm.c

sklearn/svm/libsvm.c:303:31: fatal error: numpy/arrayobject.h: No such file or directory

compilation terminated.

sklearn/svm/libsvm.c:303:31: fatal error: numpy/arrayobject.h: No such file or directory

compilation terminated.

我已经尝试过:

-将gcc安装到最新版本-
通过easy_install从下载的zip安装scikit(以避免旧存储库)-卸载并重新安装numpy(通过pip)

当我尝试安装scipy时(这是numpy的要求),我得到了类似的错误:

adding 'build/src.linux-x86_64-2.7/fortranobject.c' to sources.

adding 'build/src.linux-x86_64-2.7' to include_dirs.

error: file '/usr/lib64/python2.7/site-packages/numpy/f2py/src/fortranobject.c' does not exist

显然缺少“ site-packages / numpy / core /
include”中的所有numpy标头。我已经用pip重新安装了numpy,没有任何问题,但是标题仍然丢失。


问题答案:

好的,当我用pip安装numpy或通常所有的头文件都丢失时。

为了解决这个问题,我 安装了 包含标头 的软件包“ python-numpy-devel”
(带有zypper,愚蠢的suse软件包名称…)。

之后,头文件就在那里,其余的都可以工作。