ImportError: cannot import name ‘deprecated‘ from ‘nltk.internals‘的可能解决办法

看到网上的文章说nltk做分词效果很好,甚至可以完成单词的时态转换,就想着体验一下。安装完了之后,我运行了这段代码:

from nltk.stem.wordnet import WordNetLemmatizer

words = ['gave', 'went', 'going', 'dating', 'comes']
for word in words:
    print(WordNetLemmatizer().lemmatize(word, 'v')) # 还原动词

但是出现了报错:ImportError: cannot import name 'deprecated' from 'nltk.internals'。这跟我写的代码好像没有任何关系,让人有点摸不着头脑。

查了一下,看到有人是这么说的:

There happen to be another script with the same name Python is looking for. Python got confused about the script from package and your own script because it start searching from the folder where you are.
So just change your own script to another name.

简而言之,就是当前文件的名称和nltk的某些模块名重合了,导致无法识别。我看了一下,我这个文件叫tokenize.py,确实和nltk的一个分词模块名称冲突了。

改一下名字就可以正常运行了。

你可能感兴趣的:(配置踩坑,有趣的bug)