代码之家  ›  专栏  ›  技术社区  ›  EstevaoLuis Surani

Python 2.7-语法检查1.3.1库:HTTP错误400:错误请求

  •  0
  • EstevaoLuis Surani  · 技术社区  · 7 年前

    grammar-check 1.3.1 Python库

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

    $ pip install --upgrade 3to2
    
    $ pip install --upgrade language-check
    

    我还从这里解压了LanguageTool文件 link 并将其移动到 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
    

    2 回复  |  直到 7 年前
        1
  •  2
  •   Jason Roman    7 年前

    我有这个错误:

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

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

    如果您将在8081上运行另一个language_tool服务器,那么它将尝试在端口8082上启动服务器,即使在8083上也很忙,然后将失败(在我的示例中就是这样)。

        2
  •  0
  •   EstevaoLuis Surani    7 年前

    为了做到这一点,我必须检查我的grammar\u 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
    

    voil grammar_check运行良好