我正在尝试使用Python的grammar-check 1.3.1
库
我已经使用 pip 命令安装了它
$ pip install --upgrade 3to2
$ pip install --upgrade language-check
我还从此链接中解压缩了语言工具文件并将其移至C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check
然后我尝试运行一个测试程序
import grammar_check
tool = grammar_check.LanguageTool('en-GB')
text = 'This are bad.'
matches = tool.check(text)
len(matches)
但是我得到了这个错误:
Traceback (most recent call last):
File "grammar-checker-test.py", line 2, in <module>
tool = grammar_check.LanguageTool('en-GB')
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 196, in __init__
self._language = LanguageTag(language)
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 405, in __new__
return unicode.__new__(cls, cls._normalize(tag))
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 426, in _normalize
for language in get_languages())
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 485, in get_languages
languages = LanguageTool._get_languages()
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 286, in _get_languages
for e in cls._get_root(url, num_tries=1):
File "C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_check__init__.py", line 311, in _get_root
raise Error(u'{}: {}'.format(cls._url, e))
grammar_check.Error: http://127.0.0.1:8081: HTTP Error 400: Bad Request
如何解决此错误?
我有这个错误:
grammar_check.Error: http://127.0.0.1:8081:
我不确定为什么您必须在本地计算机上启动服务器,因为这段代码正是这样做的:
tool = grammar_check.LanguageTool('en-GB')
如果您在 8081 上运行另外一台language_tool服务器,那么它将尝试在端口 8082 上启动服务器,如果即使在 8083 上也很忙,然后也会失败(在我的情况下发生了(。
无论如何,对于我的错误,我不得不进行很多调试,最终发现服务器无法运行,因为我的 JAVA 运行时环境搞砸了。
问题是我没有运行LanguageTool服务器。
为此,我必须检查我的grammar_check文件夹中是否有 LanguageTool 文件夹(其版本必须<3.3,在我的情况下是 2.2(。
然后使用 cmd shell,我必须移动到这个 LanguageTool 文件夹,在我的情况下,它位于以下路径中:
C:UsersmeAppDataRoamingPythonPython27site-packagesgrammar_checkLanguageTool-2.2
比,我必须使用此命令运行服务器
java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081
瞧,grammar_check运作良好