我正在使用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中使用的其他替代方案。我只需要解析器。
答案 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
无论如何,这是寻找等价物的标准挫败感。按下。
我打开了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
当然,这不起作用。没有找到这样的包裹。
所以我开始搜索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}}。