2013-08-20 15 views
5

Quando provo a installare scikit-learn su un server di Suse (openSUSE 12.2, x86_64) tramite:scikit-learn installare fallimento/non NumPy trovato/mancante intestazioni NumPy

pip install -U scikit-learn 

ottengo il seguente errore:

(....) 

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. 

ho già provato:

-Installing gcc alla versione più recente
-Installing scikit da una zip scaricato, oltre easy_install (per evitare o pronti contro termine LD) Disinstallazione e reinstallazione NumPy (oltre pip)

Quando provo a installare SciPy (che è un requisito di NumPy) ottengo un errore simile:

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 

A quanto pare tutte le intestazioni numpy in "site-packages/numpy/core/include" sono mancanti. Ho già reinstallato numpy con pip senza problemi ma le intestazioni mancano ancora.

+1

Se si prova un 'locate arrayobject.h' (o l'equivalente di Suse), cosa mostra? – darthbith

+0

non riesco a trovare nulla. Sembra che ci siano alcuni file mancanti in numpy. –

+0

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

risposta

10

Ok quando ho installato numpy con pip o normalmente mancava tutto l'header di inclusione.

Per risolvere questo problema i installato il pacchetto "python-NumPy-devel" (con zypper, i nomi dei pacchetti suse stupidi ...) che contiene le intestazioni.

Dopo che le intestazioni sono lì e il resto funziona.

+0

Sto usando Docker e Alpine, e così ho usato: 'RUN set -x && apk update && apk add --no-cache --update-cache libexecinfo-dev py3-numpy = 1.13.3-r0 py-numpy -dev = 1.13.3-r0' – cs94njw