2012-07-13 17 views
8

Próbowałem zainstalować scikit-learn na mojej Linux Mint 12, ale nie udało się. Pobrałem paczkę od http://pypi.python.org/pypi/scikit-learn/ i zainstalowanyNie można zaimportować Scikit-Learn

sudo python2.7 setup.py install 

Potem zmienił katalog do domu i zaczął python2.7 powłokę. W przypadku importowania sklearn dostałem:

>>> 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 * 

Myślę, że problem jest związany z przestrzenią scipy. Dzieje się tak, ponieważ gdy wykonuję

Otrzymuję ten sam błąd, który dostaję dla nauki Scikit.

Proszę o pomoc. Dziękuję.

EDYCJA: Nowy błąd.

>>> 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 

Odpowiedz

8

Nie jestem pewien, ale według this że błąd ma miejsce, gdy pakiet, który zależy od numpy jest kompilowany kierowania konkretną wersję (lub konkretną platformę), a następnie, że pakiet jest zainstalowany w innym środowisko. Jak zainstalowałeś te dwie paczki? (numpy i scipy)

Sugerowałbym odinstalowanie obu, a następnie ponowne zainstalowanie SciPy, albo using pip lub from source.

+0

Thank You mgibsonbr. Ponownie zainstalowałem scipy i numpy ze źródła. Po tym 'from scipy import przestrzenny' nie dał żadnego błędu. Ale przy imporcie sklearn pojawia się inny błąd. Piszę powyższy błąd. – Rishi

+1

Zainstalowałem scikit-learn ponownie za pomocą 'pip install -U scikit-learn', a następnie import działał. Dziękuję Ci. :) – Rishi

+0

@Rishi To nie działa dla mnie. Nadal dostaję '/usr/local/lib/python2.7/dist-packages/scipy/spatial/__init__.py:91: RuntimeWarning: rozmiar numpy.ufunc został zmieniony, może oznaczać niekompatybilność binarną z importu .qhull * –

1

Wpadłem na to dzisiaj na OS X El Capitan. Niestety, ponowna instalacja/instalacja nie działała, ponieważ problem polegał na tym, że zamiast instalacji instalowanej przez PIP preferowano instalację typu numpy.

udało mi się rozwiązać ten problem, postępując zgodnie z wytycznymi zawartymi w: https://apple.stackexchange.com/a/223163

W szczególności stosowane podejście ustalenie ścieżki Pythona wolą bibliotek pip nad OS X natywnych bibliotek:

utworzyć plik nazywa fix_mac_path.pth w /Library/Python/2.7/site-packages że ma następujący:

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

Powiązane problemy