关于python:使用ImportError导入nltk版本3.2.3失败

Import of nltk version 3.2.3 fails with ImportError

我在Windows10下运行python 2.7.13,我正在努力使nltk正常运行。下面是当我尝试导入NLTK时发生的情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
>>> import nltk
Traceback (most recent call last):
File"<pyshell#4>", line 2, in <module>
 import nltk
File"C:\Python27\lib\site-packages
ltk-3.2.3-py2.7-win32.egg
ltk\__init__.py"
, line 128, in <module>
 from nltk.chunk import *
File"C:\Python27\lib\site-packages
ltk-3.2.3-py2.7-win32.egg
ltk\chunk\__init__.py"
, line 157, in <module>
 from nltk.chunk.api import ChunkParserI
File"C:\Python27\lib\site-packages
ltk-3.2.3-py2.7-win32.egg
ltk\chunk\api.py"
, line 13, in <module>
 from nltk.parse import ParserI
File"C:\Python27\lib\site-packages
ltk-3.2.3-py2.7-win32.egg
ltk\parse\__init__.py"
, line 81, in <module>
 from nltk.parse.corenlp import CoreNLPParser, CoreNLPDependencyParser
File"C:\Python27\lib\site-packages
ltk-3.2.3-py2.7-win32.egg
ltk\parse\corenlp.py"
, line 17, in <module>
 import requests
ImportError: No module named requests

安装了以下软件包:

  • 循环器0.10
  • 功能工具32 3.2.3.post2
  • Matplotlib 2.0.2号图纸
  • NLTK 3.2.3
  • NUMPY 1.12
  • PyPurSurviv2.2.0
  • python日期工具2.6.0
  • 吡兹2017.2
  • PyYAML 3.12
  • 六1.10

我已经尝试卸载NLTK,也卸载并重新安装了python,然后按照以下说明操作:http://lizeutilitestuff.blogspot.de/2012/03/how-to-install-nltk-package-for-python.html

但是,有了这些说明,我就不得不执行步骤5。当我进入

1
python -m nltk.downloader

我收到消息了

1
C:\Python27\python.exe: No module named requests

是否有人知道我在这里做错了什么,或者我可以尝试在我的设置中运行NLTK?我想在python 2.7中仍然可以使用nltk?

从我目前的发现来看,用python 3.4安装nltk似乎更容易,但是如果可能的话,我想避免python升级,因为除了我的nltk实验之外,我还遵循了一个引用python 2.7的编码教程。

谢谢你的提示!


在最新版本的nltk中(v3.2.3),存在"可选"依赖关系问题,请参阅https://github.com/nltk/nltk/issue s/1725

ImportError会发生在任何操作系统(windows/linux/mac)中,因为它是一个Python依赖问题。

这是由于nltk.parse.corenlp需要额外的依赖性,但它没有被优雅地导入,并且导入在顶级公开,网址为:https://github.com/nltk/nltk/blob/develop/nltk/parse/init.py l81

要用requests安装nltk以解决此问题:

1
pip install -U nltk[corenlp]

对于无模糊安装,安装所有nltk子模块需要的所有软件包:

1
pip install -U nltk[all]

或者,您可以单独安装请求包:

1
pip install requests

希望问题1725能够很快得到解决,并且一个小的补丁版本将很快重新发布。