安装numpy破解NLTK(OS X 10.6.2,Python 2.6)

问题描述:

我在我的Mac(OS X 10.6.2)上安装了NLTK(py26-nltk)。然后我安装了numpy。现在当我尝试导入nltk时,我得到:安装numpy破解NLTK(OS X 10.6.2,Python 2.6)

>>> import nltk 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "nltk/__init__.py", line 83, in <module> 
    from collocations import * 
    File "nltk/collocations.py", line 39, in <module> 
    from nltk.metrics import ContingencyMeasures, BigramAssocMeasures, TrigramAssocMeasures 
    File "nltk/metrics/__init__.py", line 14, in <module> 
    from scores import * 
    File "nltk/metrics/scores.py", line 15, in <module> 
    from scipy.stats.stats import betai 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/__init__.py", line 7, in <module> 
    from stats import * 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/stats.py", line 203, in <module> 
    from morestats import find_repeats #is only reference to scipy.stats 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/morestats.py", line 7, in <module> 
    import distributions 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/distributions.py", line 27, in <module> 
    import vonmises_cython 
    File "numpy.pxd", line 30, in scipy.stats.vonmises_cython (scipy/stats/vonmises_cython.c:2939) 
ValueError: numpy.dtype does not appear to be the correct type object 

出了什么问题?我怎样才能解决这个问题?

似乎更多的是[版本] SciPy和NumPy版本之间的不兼容问题,而不是NLTK和Numpy之间的不兼容问题。
虽然SciPy对于NLTK不是必需的,但它是可选的导入,并且将在可用时加载。

关于你的情况有几个假设:

羟脯氨酸#1

  • 你以前是NumPy的1.3下与SciPy的兼容版本一起运行
  • 您最近安装NumPy的1.4,但没有触摸SciPy ==>“旧”SciPy已损坏。补救措施:安装更新的SciPy或将其完全卸载(尽管您可能在不知情的情况下使用/需要SciPy,具体取决于您使用的NLTK的模块)
    替代补救措施:重新安装1.4以上的NumPy 1.3。

羟脯氨酸#2(不太可能)

  • 你从未有过SciPy的和NLTK是幸福的,没有它的工作。
  • 您最近安装NumPy的1.4(1.3以上) SciPy的(无缘无故)
  • 出于某种原因,与NumPy和SciPy的不玩好起来
    解决办法:卸载SciPy的
+0

没有任何数量的SciPy diddling能够做到这一点,但是将NumPy 1.3安装到1.4以上可以完成这项工作。谢谢! – 2010-02-03 02:13:15

我有在Windows XP上Python 2.6的相同问题和mjv建议的一样,我卸载了旧的SciPy模块并安装了最新版本,在这个阶段我得到了yaml模块丢失的错误。

安装PyYAML模块后,“import nltk”语句没有给出任何错误。

希望这可以帮助其他人有同样的问题。

Atish

插嘴有点晚了,但我遇到了这个问题,numpy的和渔民,在OSX(雪豹, 但我认为这种情况会发生在其他的x86机器)。

我已经通过pypm安装了fisher,并且从二进制文件安装了numpy。在这种情况下,我认为在某种程度上二进制文件感染了PowerPC 二进制文件,所以最好将它们清除,并从源代码重建。

我手动删除它们〜/库/ ..., 推倒来源(包括SciPy的,现在还不如咬子弹), 重新编译所有三个来源,两个小时后有一个工作系统。