stanford corenlp不工作

时间:2013-09-09 18:28:52

标签: python parsing stanford-nlp linguistics

我正在使用Windows 8,并使用pyDev在eclipse中运行python。

我从网站安装了Stanford coreNLP(python版本): https://github.com/relwell/stanford-corenlp-python

当我尝试导入corenlp时,收到以下错误消息。

Traceback (most recent call last):
  File "C:\Users\Ghantauke\workspace\PythonTest2\test.py", line 1, in <module>
    import corenlp
  File "C:\Python27\lib\site-packages\corenlp\__init__.py", line 13, in <module>
    from corenlp import StanfordCoreNLP, ParserError, TimeoutError, ProcessError
  File "C:\Python27\lib\site-packages\corenlp\corenlp.py", line 28, in <module>
    import pexpect
  File "C:\Python27\lib\site-packages\pexpect.py", line 85, in <module>
    support it. Pexpect is intended for UNIX-like operating systems.""")
ImportError: No module named resource

A critical module was not found. Probably this operating system does not
support it. Pexpect is intended for UNIX-like operating systems.

这是否意味着它的python fork在Windows中不起作用?有什么方法可以让它在Windows中运行吗?

如果没有,那么您可以建议我可以在Windows中使用的其他替代方案。我只需要解析器。

1 个答案:

答案 0 :(得分:2)

这是我尝试获取corenlp-python的记录,subprocess是在Windows Server 2012上运行的CoreNLP的python包装器。

  

免责声明:如果您只需要运行可执行文件,请先检查this。考虑corenlp-python

开始

由于pexpect使用wexpect.py相当多,并且该库仅适用于UNIX,我首先想到的是找到一个Windows端口。

wexpect.py相当容易找到并声称是Pexpect的替代品(强调我的):

  

为了使用WExpect,您必须安装CygWin,然后将WExpect脚本安装到您​​的系统中(将py文件放入您的工作目录通常已经足够了)。   我发现功能几乎相同,因此您应该能够使用PExpect手册和示例并将它们应用于此Microsoft Windows变体。

所以我就这样做了,下载并安装了CygWin,然后将C:\Python27\lib\复制到import wexpect所有其他库中。我尝试从Python shell中ImportError: No module named pywintypes This module requires the win32 python packages. A critical module was not found. Probably this operating system does not support it. Pexpect is intended for UNIX-like systems. 并得到类似于我在Windows上第一次尝试Pexpect时出现的错误:

wexpect.py

Et tu,wexpect?

无论如何,这是寻找等价物的标准挫败感。按下。

我打开了pywintypes,发现它只会在Windows系统上尝试$ pip install -U pywintypes 。逻辑,所以我试过:

$ pip install -U pywin32

...哪次失败,并带我到谷歌获取python Win32包的名称(this answer帮助):

--allow-external

...提示--allow-unverified然后$ pip install --allow-external pywin32 --allow-unverified pywin32 pywin32 ,两者都需要包名称,ergo:

import wexpect

当然,这不起作用。没有找到这样的包裹。

sf.net

所以我开始搜索pywin32 on PyPI并意识到only a readme is left并且我必须跳过四个更多的箍来到something more substantial,然后再找两个this list }。

我下载了Build 219 for Python 2.7 32-bit。至少现在corenlp-python并没有呕吐。

你有什么期望?

所以我再次运行unidecode命令,这次它缺少corenlp.py。这更容易修复,最后我达到了一个可用的状态 - 一个错误,不亚于,但很熟悉 - JAR的路径不正确。

确定。

当您运行pexpect时,由于调用了import wexpect as pexpect,请记住靠近顶部的import pexpect并注释掉真实的NameError行,否则您将获得#import pexpect import wexpect as pexpect 1}}:

$ python lib\corenlp\corenlp.py

即使安装了Java,无论路径如何,这似乎都不起作用。

ExceptionPexpect

返回{{1}}。