sklearn“numpy.dtype具有错误的大小,尝试重新编译”pycharm和终端

时间:2016-07-05 06:59:44

标签: python numpy scikit-learn

在编译Sci-kit学习时,我在pycharm和terminal中都有“numpy.dtype有错误的大小,尝试重新编译”。我已升级所有软件包(numpy,scikit到最新版本),没有任何效果.Python版本是2.7。请帮忙。欣赏!

    checking for nltk
    Traceback (most recent call last):
    File "startup.py", line 6, in <module>
    import nltk
      File "/Library/Python/2.7/site-packages/nltk/__init__.py", line 128, in <module>
      from nltk.chunk import *
      File "/Library/Python/2.7/site-packages/nltk/chunk/__init__.py", line 157, in <module>
   from nltk.chunk.api import ChunkParserI
  File "/Library/Python/2.7/site-packages/nltk/chunk/api.py", line 13, in <module>
    from nltk.parse import ParserI
  File "/Library/Python/2.7/site-packages/nltk/parse/__init__.py", line 79, in <module>
    from nltk.parse.transitionparser import TransitionParser
  File "/Library/Python/2.7/site-packages/nltk/parse/transitionparser.py", line 21, in <module>
    from sklearn.datasets import load_svmlight_file
  File "/Library/Python/2.7/site-packages/sklearn/__init__.py", line 57, in <module>
    from .base import clone
  File "/Library/Python/2.7/site-packages/sklearn/base.py", line 11, in <module>
    from .utils.fixes import signature
  File "/Library/Python/2.7/site-packages/sklearn/utils/__init__.py", line 10, in <module>
    from .murmurhash import murmurhash3_32
  File "numpy.pxd", line 155, in init sklearn.utils.murmurhash (sklearn/utils/murmurhash.c:5029)
ValueError: numpy.dtype has the wrong size, try recompiling

2 个答案:

答案 0 :(得分:1)

错误&#34; numpy.dtype的大小错误,请尝试重新编译&#34;表示sklearn是针对numpy编译的,而不是现在尝试导入的numpy版本sklearn。要解决此问题,您需要确保sklearn是针对它现在导入的numpy版本或早期版本编译的。有关详细说明,请参阅ValueError: numpy.dtype has the wrong size, try recompiling

我想从您的路径中可以看出,您正在使用OSX系统Python(OSX附带的那个,/usr/bin/python)。 Apple已经修改了这种Python,使其获得了自己的numpy版本,而不是使用pip等安装的任何版本 - 请参阅https://github.com/MacPython/wiki/wiki/Which-Python#system-python-and-extra-python-packages。我强烈建议您切换到Python.org或自制Python,以便根据numpy更轻松地使用包。

答案 1 :(得分:0)

使用不兼容的版本时会出现此问题。使用以下方法检查版本:

pip freeze

或者,对于特定模块

pip freeze | grep Module_Name

我通过更新所有包来解决我的问题:

pip install -U scikit-learn numpy scipy pandas matplotlib

截至今日(2016年11月30日)。这些版本兼容:

matplotlib==1.5.2
nltk==3.2.1
numpy==1.11.2
pandas==0.19.1
scikit-learn==0.18.1
scipy==0.18.1
textblob==0.11.1