2013-08-20 10 views
5

Wenn ich versuche, über Scikit-Learn auf einem Suse (Open Suse 12.2 x86_64) Server zu installieren:Scikit-Learn installieren Ausfall/numpy nicht gefunden/fehlende numpy Header

pip install -U scikit-learn 

erhalte ich folgende Fehlermeldung:

(....) 

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. 

ich schon versucht:

gcc auf die neueste Version
-Installation scikit von einem heruntergeladenen Zip, über easy_install -Installation (zu vermeiden o ld repos) -uninstalling und Neuinstallation numpy (über pip)

Wenn ich versuche, scipy zu installieren (das ist eine Anforderung von numpy ist) erhalte ich einen ähnlichen Fehler:

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 

Offenbar alle numpy Header in "site-packages/numpy/core/include" fehlen. Ich habe numpy mit pip ohne Probleme neu installiert, aber die Header fehlen noch.

+1

Wenn Sie ein 'locate arrayobject.h' (oder das Äquivalent für Suse) versuchen, was bringt es? – darthbith

+0

Ich kann nichts finden. Sieht so aus, als ob einige Dateien in numpy fehlen. –

+0

Haben Sie 'locate' installiert? http://efod.se/blog/archive/2006/01/30/locate-on-suse-based-distributions – darthbith

Antwort

10

Ok, wenn ich installiert habe numpy mit Pip oder normalerweise alle Include-Header fehlten.

Um das zu beheben, habe ich installiert das Paket "python-numpy-devel" (mit zypper, dumme suse Paketnamen ...), die die Header enthält.

Danach sind die Header da und der Rest funktioniert.

+0

Ich benutze Docker und Alpine, und so habe ich verwendet: 'RUN set -x & & apk update & & apk hinzufügen - no-cache --update-cache libexecinfo-dev py3-numpy = 1.13.3-r0 py-numpy -dev = 1.13.3-r0' – cs94njw

Verwandte Themen