NLTK-没有名为语料库的模块
问题内容:
用PIP安装NLTK和NLTK-DATA后,我运行 python, 然后 从nltk.corpus import cmudict中键入
,它可以工作。但是当我写这样的脚本时:
from nltk.corpus import cmudict
d = cmudict.dict()
def nsyl(word):
return [len(list(y for y in x if y[-1].isdigit())) for x in d[word.lower()]]
print nsyl("hello")
我有以下错误:
Traceback (most recent call last):
File "nltk.py", line 1, in <module>
from nltk.corpus import cmudict
File "nltk.py", line 1, in <module>
from nltk.corpus import cmudict
ImportError: No module named corpus
我怎样才能解决这个问题 ?
提前致谢
问题答案:
从您的stacktrace:中File "nltk.py", line 1, in <module>
,您已经调用了文件nltk.py。当python搜索模块时,它会首先在当前目录中查找,并且在那里有“
nltk.py”。它将导入为nltk,并且由于您的代码未定义语料库,因此无法找到nltk.corpus
。
要解决此问题,您应该将文件重命名为其他名称,例如nltkexperience.py
。另外,请确保从目录中删除“
nltk.pyc”(因为该目录也会被加载)(这是代码的字节编译版本)。之后,它应该可以正常工作。