我之前安装了 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.x 重新定位了 xmlrpclib 模块。根据 Python 2.7 xmlrpclib documentation :
“xmlrpclib 模块已在 Python 3 中重命名为 xmlrpc.client。2to3 工具将在将源代码转换为 Python 3 时自动调整导入。”
看起来 jsonrpclib 的作者有一个关于 Python 3 支持的未决问题,但一年内没有回应或接受拉取请求。你可能想给 jsonrpclib-pelix fork 查看 Python 3 支持。
我是一名优秀的程序员,十分优秀!