5
我正在使用nltk,但我面臨的問題似乎並沒有與nltk具體相關。 我有一個模塊名爲util.tokenize
裏面其中有一些類和我有以下的第一行:Python,ImportError:無法導入名稱AbstractLazySequence
UTIL/tokenizer.py
from nltk.tokenize.regexp import RegexpTokenizer
...
class SentTokenizer(object):
def __init__(self, stem=False, pattern='[^\w\-\']+'):
self.alg = RegexpTokenizer(pattern, gaps=True)
def __call__(self, text):
return self.alg.tokenize(text)
....
if __name__ == '__main__':
s_t = SentTokenizer()
s_t('blah blah')
當我從另一個調用模塊的課程,說test.py
一切似乎工作,但運行tokenize.py
模塊直接導致ImportError。
File "tokenize.py", line 1, in <module>
...
File "Python27\lib\site-packages\nltk\corpus\reader\util.py", line 28, in <module>
from nltk.util import AbstractLazySequence, LazySubsequence, LazyConcatenation, py25
ImportError: cannot import name AbstractLazySequence
可能是什麼問題?爲什麼它從其他模塊調用時起作用?
test.py
from util.tokenize import SentTokenizer
s_t = SentTokenizer()
print s_t('blah blah')
平臺是Windows。
添加了更多相關代碼的部分 – CentAu
它甚至沒有得到__main__代碼。在第一行它會拋出錯誤。 我增加了更多的代碼。 @grill – CentAu
如果僅使用上面包含的代碼(不包括省略號)創建一個新的.py文件,會發生什麼情況? – grill