Python,ImportError:无法导入名称AbstractLazySequence

Python,ImportError:无法导入名称AbstractLazySequence,python,nltk,importerror,Python,Nltk,Importerror,我正在使用nltk,但我面临的问题似乎与nltk没有具体关系。 我有一个名为util.tokenize的模块,其中有一些类,我有以下第一行: util/tokenizer.py from nltk.tokenize.regexp import RegexpTokenizer ... class SentTokenizer(object): def __init__(self, stem=False, pattern='[^\w\-\']+'): self.alg = R

我正在使用nltk,但我面临的问题似乎与nltk没有具体关系。 我有一个名为
util.tokenize
的模块,其中有一些类,我有以下第一行:

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
模块会直接导致导入错误

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

平台是Windows。

我们确定这是由与
nltk.tokenize
和用户的
tokenize.py
的命名空间冲突引起的。重命名
tokenize.py
后,一切正常。

添加了相关代码的更多部分,甚至没有到达主代码。在第一行,它抛出错误。我添加了更多的代码@如果只使用上面包含的代码(不包括省略号)创建一个新的.py文件会发生什么情况?请尝试将包命名为不同的名称,看看会发生什么情况。我闻到名称空间冲突…我也在研究这个问题。我建议把它搬到
from util.tokenize import SentTokenizer
s_t = SentTokenizer()
print s_t('blah blah')