ImportError:没有名为'nltk.tokenize'的模块; 'nltk'不是一个包

Lee*_*e88 10 python nltk pycharm

我在Windows 7的pycharm IDE中使用python 3.5.2,我在导入nltk包时遇到问题.

import nltk
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
File "C:\Python\nltk practice.py", line 7, in <module> from nltk.tokenize import sent_tokenize, word_tokenize
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
ImportError: No module named 'nltk.tokenize'; 'nltk' is not a package
Run Code Online (Sandbox Code Playgroud)

nltk似乎已正确安装.当我在终端中运行以下内容时

pip install nltk
Run Code Online (Sandbox Code Playgroud)

我明白了:

Requirement already satisfied (use --upgrade to upgrade): nltk in c:\users\leee\appdata\local\programs\python\python35-32\lib\site-packages
Run Code Online (Sandbox Code Playgroud)

当我PATH在终端或sys.pathpython控制台中运行时,

C:\Users\leee\AppData\Local\Programs\Python\Python35-32\Lib\site-packages显示在长列表中.这是我安装所有其他软件包的地方,以及所有正确导入的软件包.

我现在很困惑,所有的帮助都表示赞赏.

ale*_*xis 16

这通常是因为您有另一个名为的文件nltk.py.检查您的目录(C:\Python,您运行此脚本的位置)并删除或重命名它(如果它在那里).(我猜这个迷路nltk.py也可能在你的其他地方PYTHONPATH.)

  • 谢谢,这就是问题所在。我在练习使用nltk的地方有一个名为nltk.py的python文件。 (2认同)

Raj*_*jat 7

有了conda 4.5.4,由于许可问题#306,MosesTokenizer已从NLTK中移出 https://github.com/pytorch/text/issues/306

现在你要做的是

pip install mosestokenizer
Run Code Online (Sandbox Code Playgroud)

并更换

from nltk.tokenize.moses import MosesTokenizer, MosesDetokenizer
Run Code Online (Sandbox Code Playgroud)

from mosestokenizer import MosesTokenizer, MosesDetokenizer
Run Code Online (Sandbox Code Playgroud)

如果您使用的是conda,请注意,摩西已从此处移除,现在可以在PyPI上找到


小智 5

谢谢。它解决了我的问题。

问题:我创建了一个文件“nltk.py”并在该文件中编写代码并尝试执行它,但出现错误“ModuleNotFoundError:没有名为“nltk.tokenize”的模块;“nltk”不是一个包。

解决方案:之后我将“nltk.py”重命名为其他名称,然后我的问题得到解决。