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软件包名称…)。
之后,头文件就在那里,其余的都可以工作。