gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:10:50 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com