【问题标题】:ImportError: No module named 'nltk.tokenize'; 'nltk' is not a packageImportError:没有名为“nltk.tokenize”的模块; 'nltk' 不是一个包
【发布时间】:2016-11-01 13:53:28
【问题描述】:

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

import nltk

给出以下错误:

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

nltk 似乎已正确安装。当我在终端中运行以下命令时

pip install nltk

我明白了:

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

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

C:\Users\leee\AppData\Local\Programs\Python\Python35-32\Lib\site-packages 出现在长列表中。那是我所有其他软件包的安装位置,以及所有正确导入的其他软件包。

我现在很困惑,感谢所有帮助。

【问题讨论】:

标签: python pycharm nltk


【解决方案1】:

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

现在你要做的是

pip install mosestokenizer

替换

from nltk.tokenize.moses import MosesTokenizer, MosesDetokenizer

from mosestokenizer import MosesTokenizer, MosesDetokenizer

如果您使用 conda,请注意 moses 已从那里删除,现在可在 PyPI 上使用

【讨论】:

  • mosestokenizer 中的函数是否等同于sacremoses here 是github 上nltk 问题中讨论的包。
【解决方案2】:

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

问题: 我创建了一个文件“nltk.py”并在该文件中编写代码并尝试执行它给出错误“ModuleNotFoundError: No module named 'nltk.tokenize'; 'nltk' 不是一个包'。

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 谢谢,这就是问题所在。我有一个名为 nltk.py 的 python 文件,我在其中练习使用 nltk。
    【解决方案4】:

    在pycharm中,按ctrl/cmd + shift + A,然后输入“Python Interpreter”

    并确保您的解释器与 pip 所指的解释器相同(而不是某些 Jetbrains 的默认解释器)

    注意:如果您同时安装了python 2.7python 3.x,约定是pip 指的是2.x 分区,pip3 指的是3.x

    【讨论】:

    • 如果问题是版本不匹配,错误将是ImportError: No module named 'nltk'
    • 这不是我的特殊问题,但我不知道可以做出区分。谢谢
    猜你喜欢
    • 2019-07-07
    • 2018-10-16
    • 2014-07-15
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 2016-01-23
    • 2013-03-11
    相关资源
    最近更新 更多