Python在脚本中无法`import nltk`,但在解释器中可以
我找到了问题的原因,我把原来的脚本文件命名为nltk.py,所以Python试图从这个脚本文件中导入word_tokenize,真是个傻瓜的错误,抱歉。
我在Windows上尝试使用nltk。已经安装了nltk和nltk数据。
但是,当我在命令行中运行
python -u 'filename.py'
时,出现了如下错误。
Traceback (most recent call last):
File "filename.py", line 1, in (module)
from nltk import word_tokenize
File "filenmae.py", line 1, in (module)
from nltk import word_tokenize
ImportError: cannot import name word_tokenize
另一方面,当我运行
python < 'filename.py'
时,结果是正确的。
filename.py中的代码是一个简单的测试代码,如下所示。
from nltk import word_tokenize
tokens = word_tokenize('hello i am your friend')
print(tokens)
你能帮我解决这个问题吗?提前谢谢你。
我按照这个链接的源安装说明重新安装了nltk
,但没有成功。
另外,我之前安装过Python 3.3,但发现nltk
在安装时无法识别Python 3.3,所以我安装了Python 2.7。现在我的电脑上实际上有两个版本的Python。
相关的用户路径是 C:\Python27
。
在系统路径中,相关字段是:
Path C:\Python27\
PYTHONIOENCODING utf-8
PYTHONPATH C:\Python27
在命令行中运行时的Python版本是:
Python 2.7.3 (日期) [MSC v.1500 32位 (Intel)] on win32
此外,我还尝试在命令行和使用一个脚本文件运行以下代码,具体代码可以在这里找到:
import nltk
import sys
print(nltk)
print(sys.executable)
在命令行中,结果是
>>> print(nltk)
<module 'nltk' from 'C:\Python27\lib\site-packages\nltk\__init__.pyc'>
>>> print(sys.executable)
C:\Python27\python.exe
使用脚本时,结果是
<module 'nltk' from 'C:\Users\username\Documents\nltk.py'>
C:\Python27\python.exe
<module 'nltk' from 'C:\Users\username\Documents\nltk.py'>
C:\Python27\python.exe
1 个回答
2
我找到了问题的原因,我把原来的脚本文件命名为 nltk.py
,所以 Python 尝试从这个脚本文件中导入 word_tokenize。真是个愚蠢的错误,抱歉!