在我的脚本中,Python未能`import nltk`,但在解释器中却能工作。[英] Python failed to `import nltk` in my script but works in the interpreter

问题描述

我发现了原因,我命名了原始脚本文件nltk.py,因此Python试图从脚本文件ORZ导入Word_tokenize.对不起这个愚蠢的错误.


我试图在Windows上使用Python中的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)

您能帮我吗?预先感谢.

我尝试了re installing nltk遵循源安装指令在这里.但这无效.

此外,我过去安装了Python 3.3,但是我发现nltk在安装过程中无法识别Python 3.3,因此我安装了Python 2.7.现在,我的计算机上实际上有两个版本的Python.

相关的用户路径为C:\Python27.

在系统路径中,相关字段为:

路径C:\Python27\

pythonioencoding utf-8

pythonpath C:\Python27

我在命令行中运行它时的python版本是

Python 2.7.3 (Date) [MSC v.1500 32 bit (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

推荐答案

我发现了原因,我命名了原始脚本文件nltk.py,因此Python尝试从脚本文件ORZ导入Word_tokenize.对不起这个愚蠢的错误.

本文地址:https://www.itbaoku.cn/post/902507.html