Python 2.7 - 语法检查 1.3.1 库:HTTP 错误 400:错误请求
Python 2.7 - grammar-check 1.3.1 library: HTTP Error 400: Bad Request
我正在尝试将 grammar-check 1.3.1
库用于 Python
我已经使用 pip 命令安装了它
$ pip install --upgrade 3to2
$ pip install --upgrade language-check
我还从 link 中解压缩了 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
如何解决这个错误?
问题是我没有运行安装 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 运行良好
我有这个错误:
grammar_check.Error: http://127.0.0.1:8081:
我不确定为什么您必须在本地计算机上启动服务器,因为这段代码正是这样做的:
tool = grammar_check.LanguageTool('en-GB')
如果您将在 8081 上再有一个 language_tool 服务器 运行ning,那么它会尝试在端口 8082 上启动服务器,即使它在 8083 上很忙,然后也会失败(这在我的情况下发生了)。
无论如何,由于我的错误,我不得不进行大量调试,最后发现服务器无法 运行 因为我的 JAVA 运行 时间环境被搞砸了。
我正在尝试将 grammar-check 1.3.1
库用于 Python
我已经使用 pip 命令安装了它
$ pip install --upgrade 3to2
$ pip install --upgrade language-check
我还从 link 中解压缩了 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
如何解决这个错误?
问题是我没有运行安装 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 运行良好
我有这个错误:
grammar_check.Error: http://127.0.0.1:8081:
我不确定为什么您必须在本地计算机上启动服务器,因为这段代码正是这样做的:
tool = grammar_check.LanguageTool('en-GB')
如果您将在 8081 上再有一个 language_tool 服务器 运行ning,那么它会尝试在端口 8082 上启动服务器,即使它在 8083 上很忙,然后也会失败(这在我的情况下发生了)。
无论如何,由于我的错误,我不得不进行大量调试,最后发现服务器无法 运行 因为我的 JAVA 运行 时间环境被搞砸了。