2012-07-13 6 views
8

Ho provato a installare scikit-learn sul mio Linux Mint 12 ma non sono riuscito. Ho scaricato il pacchetto da http://pypi.python.org/pypi/scikit-learn/ e installato conImpossibile importare Scikit-Learn

sudo python2.7 setup.py install 

Poi ho cambiato la directory a casa e cominciai a guscio python2.7. Sull'importazione di sklearn ho ottenuto:

>>> import sklearn 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from qhull import * 

Penso che il problema sia con lo spazio di scipy. Questo perché quando faccio

>>> from scipy import spatial 

Ottengo lo stesso errore che ottengo per Scikit-learn.

prega di aiuto. Grazie.

MODIFICA: Nuovo errore.

>>> import sklearn 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/__init__.py", line 17, in <module> 
    from .base import clone 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/base.py", line 11, in <module> 
    from .metrics import r2_score 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/__init__.py", line 6, in <module> 
    from .metrics import confusion_matrix, roc_curve, auc, precision_score, \ 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/metrics.py", line 17, in <module> 
    from ..utils import check_arrays 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/utils/__init__.py", line 9, in <module> 
    from .murmurhash import murmurhash3_32 
    File "numpy.pxd", line 174, in init sklearn.utils.murmurhash (sklearn/utils 
/murmurhash.c:4776) 
ValueError: numpy.ndarray has the wrong size, try recompiling 

risposta

8

Io non sono davvero sicuro, ma secondo this tale errore si verifica quando un pacchetto che dipende NumPy viene compilato destinati a una versione specifica (o una piattaforma specifica), e che il pacchetto è poi installato in una diversa ambiente. Come hai installato questi due pacchetti? (numpy e scipy)

Si consiglia di disinstallare entrambi e quindi reinstallare SciPy, sia using pip o from source.

+0

Grazie mgibsonbr. Ho reinstallato scipy e numpy dalla fonte. Dopo che 'da scipy import spazial' non ha dato alcun errore. Ma, all'importazione di sklearn, ottengo un errore diverso. Sto scrivendo l'errore sopra. – Rishi

+1

Ho installato di nuovo scikit-learn con 'pip install -U scikit-learn' e dopo l'importazione ha funzionato. Grazie. :) – Rishi

+0

@Rishi Questo non ha funzionato per me. Ricevo ancora '/usr/local/lib/python2.7/dist-packages/scipy/spatial/__init__.py:91: RuntimeWarning: la dimensione numpy.ufunc è cambiata, può indicare l'incompatibilità binaria dall'importazione .qhull *' –

1

Mi sono imbattuto in questo oggi su OS X El Capitan. Sfortunatamente, la reinstallazione/installazione non ha funzionato, dal momento che il problema è stato che l'installazione numpy nativa di OS X era preferibile a quella installata da pip.

sono stato in grado di risolvere questo seguendo la guida in: https://apple.stackexchange.com/a/223163

In particolare, ho usato l'approccio di fissare il percorso pitone a preferire le librerie pip su librerie native OS X:

Creare un file chiamato fix_mac_path.pth in /Library/Python/2.7/site-packages che ha il seguente:

import sys; std_paths=[p for p in sys.path if p.startswith('/System/')]; sys.path=[p for p in sys.path if not p.startswith('/System/')]+std_paths