我在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
显示在长列表中。这是我安装所有其他软件包的地方,以及所有正确导入的软件包。
我现在很困惑,所有的帮助都表示赞赏。
答案 0 :(得分:14)
这通常是因为您有另一个名为nltk.py
的文件。检查您的目录(C:\Python
,运行此脚本的位置)并删除或重命名(如果有)。 (我认为流浪nltk.py
可能也在你PYTHONPATH
的其他地方。)
答案 1 :(得分:4)
使用conda 4.5.4由于授权问题#306,MosesTokenizer已被移出NLTK https://github.com/pytorch/text/issues/306
现在你需要做的是
<div class="control-group" data-bind="fileDrag: multiFileData">
@*<div class="form-group row">*@
<div>
@*<div class="col-md-6">*@
<div class="col-md-6">
<!-- ko foreach: {data: multiFileData().dataURLArray, as: 'dataURL'} -->
<img style="height: 100px; @*margin: 5px;*@" class="img-rounded thumb" data-bind="attr: { src: dataURL }, visible: dataURL">
<!-- /ko -->
<div data-bind="ifnot: fileData().dataURL">
<label class="drag-label">Drag files here</label>
</div>
</div>
<div class="col-md-6">
<input type="file" multiple data-bind="fileInput: multiFileData, customFileInput: {
buttonClass: 'btn btn-success',
fileNameClass: 'disabled form-control',
onClear: onClear,
}" accept="excel/*">
</div>
</div>
</div>
并替换
pip install mosestokenizer
与
from nltk.tokenize.moses import MosesTokenizer, MosesDetokenizer
如果您正在使用conda,请注意摩西已从那里删除,现在可以在PyPI上找到
答案 2 :(得分:1)
在pycharm中,按ctrl
/ cmd
+ shift
+ A
,然后输入&#34; Python解释器&#34;
并确保您拥有与pip
引用的解释器相同的解释器(而不是某些Jetbrains默认的解释器)
注意:如果同时安装了python 2.7
和python 3.x
,则惯例是pip
引用2.x
dist,{ {1}}是指pip3
答案 3 :(得分:1)
感谢。它解决了我的问题。
问题: 我创建了一个文件&#34; nltk.py&#34;并在该文件中编写代码并尝试执行它会给出错误&#39; ModuleNotFoundError:没有名为&#39; nltk.tokenize&#39 ;;的模块。 &#39; NLTK&#39;不是包裹&#39;。
解决方案: 之后我改名为#34; nltk.py&#34;对其他人来说,我的问题得到了解决。