无法导入Scikit-Learn

Ris*_*shi 9 python importerror scikit-learn

我试图在我的Linux Mint 12上安装scikit-learn但是失败了.我从http://pypi.python.org/pypi/scikit-learn/下载了该软件包并安装了

sudo python2.7 setup.py install
Run Code Online (Sandbox Code Playgroud)

然后我将目录更改为home并启动了python2.7 shell.在导入sklearn时我得到了:

>>> 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 *
Run Code Online (Sandbox Code Playgroud)

我认为问题在于scipy的空间.这是因为当我这样做的时候

>>> from scipy import spatial
Run Code Online (Sandbox Code Playgroud)

我得到了与Scikit-learn相同的错误.

请帮忙.谢谢.

编辑:新错误.

>>> 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
Run Code Online (Sandbox Code Playgroud)

mgi*_*nbr 10

我不太确定,但根据这一点,当依赖于numpy的包被编译为针对特定版本(或特定平台)时,会发生错误,然后该包安装在不同的环境中.你是如何安装这两个包的?(numpy和scipy)

我建议卸载两个,然后重新安装SciPy,使用pip源代码.

  • 我用`pip install -U scikit-learn`再次安装了scikit-learn,然后导入就可以了。谢谢。:) (2认同)