python - 脚本适用于 IDLE 但不适用于 PowerShell

标签 python nltk attributeerror

我遇到了这个问题,其中这段代码:

import nltk

sentence = "Hello everyone on stackoverflow!"
tokens = nltk.word_tokenize(sentence)

print tokens

从 PowerShell 中运行时抛出此类错误:

    Traceback (most recent call last):
      File "tokenize.py", line 1, in <module>
        import nltk
      File "C:\PYTHON27\lib\site-packages\nltk\__init__.py", line 105, in <module>
        from collocations import *
      File "C:\PYTHON27\lib\site-packages\nltk\collocations.py", line 37, in <module>
        from nltk.util import ingrams
      File "C:\PYTHON27\lib\site-packages\nltk\util.py", line 12, in <module>
        import pydoc
      File "C:\PYTHON27\LIB\pydoc.py", line 55, in <module>
        import sys, imp, os, re, types, inspect, __builtin__, pkgutil, warnings
      File "C:\PYTHON27\LIB\inspect.py", line 39, in <module>
        import tokenize
      File "C:\stuff\tokenize.py", line 4, in <module>
        tokens = nltk.word_tokenize(sentence)
      AttributeError: 'module' object has no attribute 'word_tokenize'

但是相同的代码在IDLE中没有问题:

>>> import nltk
>>> sentence = "Hello everyone on stackoverflow!"
>>> tokens = nltk.word_tokenize(sentence)
>>> print tokens
['Hello', 'everyone', 'on', 'stackoverflow', '!']
>>> 

无论我做什么,我似乎都无法解决它。一开始以为是目录中的“”空格,所以改成了“stuff”,重新安装了nltk,问题依旧。

非常感谢您的帮助:)

最佳答案

如果我正确地读取了您的堆栈跟踪,则您调用了脚本tokenize.py。但是 tokenize 已经是标准 Python 库的一个模块了。并且仍然根据堆栈跟踪,从 nltk 间接调用 tokenize 模块。但由于当前目录中有一个 tokenize.py,Python 会采用它而不是标准的。

您应该将脚本重命名为不与标准 Python 库冲突的名称。

关于python - 脚本适用于 IDLE 但不适用于 PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267276/

相关文章:

python - 属性错误 : undesired interaction between @property and __getattr__

python - Django ORM 和工作单元

python - 在输入迭代器的开头和结尾保留占位符的生成器完好无损

python - 使用多索引列标题从宽到长 reshape 数据框

Python 属性错误 : type object '_socketobject' has no attribute 'gethostbyname'

python - 光标: AttributeError: 'NoneType' object has no attribute 'fetchall'

python - 有没有办法在python中强制互斥函数参数?

python - 如何使用 python 从随机文本行中组装出正确表达的句子

python - 如何为 python NLTK 构建翻译语料库?

python - 在 nltk.tree.Tree 中查找路径