我的Mac(OS X 10.6.2)上安装了NLTK(py26-nltk)。然后我安装了numpy。现在当我尝试导入nltk时,我得到了这个:
>>> 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
出了什么问题?我该如何解决这个问题?
答案 0 :(得分:4)
似乎更多的是[版本] SciPy和NumPy 版本之间的不兼容问题,而不是NLTK和Numpy之间的问题。
虽然NLTK不需要SciPy,但它是可选的导入,如果可用则会加载。
关于你的情况的一些假设:
Hyp#1
Hyp#2(不太可能)
答案 1 :(得分:1)
我在Windows XP上的Python 2.6上遇到了同样的问题,并且正如mjv所建议的那样,我卸载了我的旧SciPy模块并安装了最新版本,在此阶段我收到了yaml模块丢失的错误。
安装PyYAML模块后,“import nltk”语句没有出现任何错误。
希望这有助于其他人遇到同样的问题。
Atish
答案 2 :(得分:1)
迟到了,但我遇到了这个问题,numpy和fisher,osx(雪豹, 但我认为这会发生在其他x86机器上。)
我通过pypm安装了fisher,并从二进制dmg安装了numpy。在某种情况下 像这样我假设在二进制文件的某个地方感染了PowerPC 二进制,所以最好将它们清除掉,并从源头重建。
我从〜/ Library / ...手动删除了它们, 拉下来源(包括scipy,现在也可能咬掉那个子弹), 从源头重新编译了这三个,两个小时后就有了一个工作系统。