gha*_*uke 5 python parsing linguistics stanford-nlp
我正在使用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.
Run Code Online (Sandbox Code Playgroud)
这是否意味着它的python fork在Windows中不起作用?有什么方法可以让它在Windows中运行吗?
如果没有,那么你可以建议我可以在Windows中使用的其他替代品.我只需要解析器.
这是我尝试按原样获取在 Windows Server 2012 上运行的CoreNLPcorenlp-python的 python 包装器的记录。
\n\n\n免责声明:如果您只需要运行可执行文件,请先检查此项。考虑
\nsubprocess。
由于corenlp-python使用pexpect相当频繁,并且该库仅适用于 UNIX,因此我的第一个想法是找到一个 Windows 端口。
wexpect.py相当容易找到,并声称是 Pexpect 的直接替代品(强调我的):
\n\n\n\n\n为了使用 WExpect,您必须安装 CygWin,然后将 WExpect 脚本安装到您的系统中(将 py 文件放入您的工作目录通常就足够了)。\n 我\xe2\x80\x99ve 发现功能非常多相同,因此您应该能够使用 PExpect 手册和示例并将它们应用于此 Microsoft Windows 变体。
\n
所以我就是这样做的,下载并安装 CygWin,然后复制wexpect.py到C:\\Python27\\lib\\所有其他库所在的位置。我尝试import wexpect从 Python shell 中执行此操作,但收到了与我第一次在 Windows 上尝试 Pexpect 时类似的错误:
ImportError: No module named pywintypes\nThis module requires the win32 python packages.\n\nA critical module was not found. Probably this operating system does not\nsupport it. Pexpect is intended for UNIX-like systems.\nRun Code Online (Sandbox Code Playgroud)\n\n不管怎样,这是寻找同等产品时常见的挫败感。继续按。
\n\n我打开wexpect.py一看,只能pywintypes在Windows系统上尝试。逻辑上,所以我尝试:
$ pip install -U pywintypes\nRun Code Online (Sandbox Code Playgroud)\n\n...失败了,并导致我在 Google 上查找 python Win32 包的名称(这个答案有帮助):
\n\n$ pip install -U pywin32\nRun Code Online (Sandbox Code Playgroud)\n\n...这会提示--allow-external和 then --allow-unverified,两者都需要包名称,因此:
$ pip install --allow-external pywin32 --allow-unverified pywin32 pywin32\nRun Code Online (Sandbox Code Playgroud)\n\n当然,这是行不通的。没有找到这样的包。
\n\n因此,我开始在 PyPI 上搜索pywin32 ,并意识到只剩下一个自述文件,我必须再跳过四圈才能找到更实质性的内容,然后再跳两圈才能找到此列表。
\n\n我下载了Build 219 for Python 2.7 32-bit。至少现在import wexpect不吐了。
所以我再次运行该corenlp-python命令,这次它丢失了unidecode。这个问题更容易修复,最后我进入了可用状态 - 一个错误,同样是错误,但很熟悉 - JAR 的路径不正确。
当您运行corenlp.py,sincepexpect被调用时,请记住import wexpect as pexpect靠近顶部并注释掉实际import pexpect行,否则您将得到NameError:
#import pexpect\nimport wexpect as pexpect\nRun Code Online (Sandbox Code Playgroud)\n\n即使安装了 Java,无论路径如何,这似乎都不起作用。
\n\n$ python lib\\corenlp\\corenlp.py\nRun Code Online (Sandbox Code Playgroud)\n\n它返回一个ExceptionPexpect.