0

我正在尝试将grammar-check 1.3.1库用于 Python

我已经使用 pip 命令安装了它

$ pip install --upgrade 3to2

$ pip install --upgrade language-check

我还从该链接解压缩了 LanguageTool 文件并将其移至C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_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:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\__init__.py", line 196, in __init__
    self._language = LanguageTag(language)
  File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\__init__.py", line 405, in __new__
    return unicode.__new__(cls, cls._normalize(tag))
  File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\__init__.py", line 426, in _normalize
    for language in get_languages())
  File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\__init__.py", line 485, in get_languages
    languages = LanguageTool._get_languages()
  File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\__init__.py", line 286, in _get_languages
    for e in cls._get_root(url, num_tries=1):
  File "C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_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

我该如何解决这个错误?

4

2 回答 2

2

我有这个错误:

grammar_check.Error: http://127.0.0.1:8081:

我不确定为什么必须在本地计算机上启动服务器,因为这段代码正是这样做的:

tool = grammar_check.LanguageTool('en-GB')

如果您将在 8081 上运行另外一个 language_tool 服务器,那么它将尝试在端口 8082 上启动服务器,即使在 8083 上它也很忙,然后将失败(在我的情况下发生了这种情况)。

无论如何,对于我的错误,我不得不调试很多,最后发现服务器无法运行,因为我的 JAVA 运行时环境被搞砸了。

于 2018-04-19T23:18:26.763 回答
0

问题是我没有运行 LanguageTool 服务器。

为了做到这一点,我必须检查我的 Grammar_check 文件夹中是否有 LanguageTool 文件夹(它的版本必须是 < 3.3,在我的情况下是 2.2)。

然后使用 cmd shell 我必须移动到这个 LanguageTool 文件夹,在我的例子中,它位于这个路径中:

C:\Users\me\AppData\Roaming\Python\Python27\site-packages\grammar_check\LanguageTool-2.2

比,我必须用这个命令运行服务器

java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081

瞧,grammar_check 运行良好

于 2017-08-08T07:49:47.740 回答