python中的JsonRpc客户端

Eva*_*van 5 python ubuntu json json-rpc stanford-nlp

我试图通过python使用StanfordParser,我正在使用它的这个实现,它基本上是一个远程服务器,响应我所理解的json请求.他们在启动服务器后为客户端推荐以下实现模板

import jsonrpc
from simplejson import loads
server = jsonrpc.ServerProxy(jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=("127.0.0.1", 8080)))

result = loads(server.parse("Hello world.  It is so beautiful"))
print "Result", result
Run Code Online (Sandbox Code Playgroud)

但我没有使用jsonrpc的经验,我只是使用它安装它pip install json-rpc.这似乎没有工作,因为当我尝试运行示例客户端时,我得到以下异常.

Traceback (most recent call last):
  File "/root/PycharmProjects/testingStanfordParser/parser.py", line 1, in <module>
    import jsonrpc
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/__init__.py", line 6, in <module>
    from .manager import JSONRPCResponseManager
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/manager.py", line 12, in <module>
    from .jsonrpc1 import JSONRPC10Response
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/jsonrpc1.py", line 3, in <module>
    from .base import JSONRPCBaseRequest, JSONRPCBaseResponse
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/base.py", line 1, in <module>
    from .utils import JSONSerializable
  File "/usr/local/lib/python2.7/dist-packages/jsonrpc/utils.py", line 31, in <module>
    class DatetimeDecimalEncoder(json.JSONEncoder):
AttributeError: 'module' object has no attribute 'JSONEncoder'
Run Code Online (Sandbox Code Playgroud)

小智 3

如前所述,他们有自己的 jsonrpc.py 实现。可以通过以下链接下载。

https://github.com/dasmith/stanford-corenlp-python/blob/master/jsonrpc.py