【问题标题】:Python jsonrpclib not working after upgrade to Python 3.5.2升级到 Python 3.5.2 后 Python jsonrpclib 无法正常工作
【发布时间】:2026-01-03 10:45:01
【问题描述】:

我之前安装了 Python 2.7,并且正在这样调用:

api = jsonrpclib.Server('my host')
api.someFunctionCall()

然后我升级到 Python 3.5.2,现在当我运行上面的代码时,我收到了这条消息:

Traceback (most recent call last):
  File "C:\login\login.py", line 1, in <module>
    import jsonrpclib
 File "C:\Python3.5.2\lib\site-packages\jsonrpclib\__init__.py", line 5, in  <module>
from jsonrpclib.jsonrpc import Server, MultiCall, Fault
ImportError: No module named 'xmlrpclib'

我检查了我的安装,我确实有 xmlrpc 库:

c:\Python3.5.2\Lib\xmlrpc

我做错了什么?

【问题讨论】:

  • Python 3 支持吗?

标签: python python-3.x xml-rpc json-rpc


【解决方案1】:

Python 3.x 重新定位了 xmlrpclib 模块。根据Python 2.7 xmlrpclib documentation

“xmlrpclib 模块已在 Python 3 中重命名为 xmlrpc.client。2to3 工具将在将源代码转换为 Python 3 时自动调整导入。”

看起来 jsonrpclib 的作者有一个关于 Python 3 支持的未解决问题,但一年内没有响应或接受拉取请求。你可能想给jsonrpclib-pelix fork 看看是否支持 Python 3。

【讨论】:

  • 我去看看。谢谢 wscullin。