2015-07-11 90 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

相關問題