2015-07-11 87 views
0

我正在导入nltk库在我的项目中,它提供以下错误。如果有人有同样的错误,请帮助。ImportError:无法导入名称porter python

 Traceback (most recent call last): 
    File "/home/nitai/Dropbox/thesis/PycharmProjects/auto_tagger2/tagger.py", line 4, in <module> 
    import buildVocab 
    File "/home/nitai/Dropbox/thesis/PycharmProjects/auto_tagger2/buildVocab.py", line 4, in <module> 
    import nltk 
    File "/usr/local/lib/python2.7/dist-packages/nltk/__init__.py", line 126, in <module> 
    from nltk.stem import * 
    File "/usr/local/lib/python2.7/dist-packages/nltk/stem/__init__.py", line 29, in <module> 
    from nltk.stem.snowball import SnowballStemmer 
    File "/usr/local/lib/python2.7/dist-packages/nltk/stem/snowball.py", line 25, in <module> 
    from nltk.stem import porter 
ImportError: cannot import name porter 

我已经安装了所有的nltk软件包。我不知道。

+0

这是否仅通过导入发生?当你在控制台中运行“import nltk”时,它会发生? – skaz

+0

你是如何安装nltk的?你使用pip安装吗?可能值得检查一下,你是否在与运行的Python版本相同的情况下安装了这个版本。 – priboyd

+0

“Porter”是一个词干分析者的名字,可以将词汇减少到原来的词根。这可能是它需要单独安装。 – User

回答

2

如果您已经下载从NLTK所有数据包,即

>>> import nltk 
>>> nltk.download('all') 

波特施特默尔在NLTK是一类不包/模块。

你应该导入PorterStemmer类,而不是:

>>> from nltk.stem import PorterStemmer 
>>> porter = PorterStemmer() 
>>> porter.stem('went') 
u'went' 
>>> porter.stem('running') 
u'run' 

此外,检查你用pip安装有NLTK的最新稳定版本。否则,您可能会使用不稳定/过时的NLTK版本。请参阅http://www.nltk.org/install.html

+0

从回溯的角度来看,OP实际上并不打算导入名字“搬运工” - 他们甚至可能不想做任何阻塞。 OP脚本中的最后一行似乎是由'import nltk'触发的。 – lenz

相关问题