python 2.7 中的 zerorpc 模块抛出错误

zerorpc module throwing error in python 2.7

我正在使用 zerorpc 模块在节点和 python.Im 之间进行通信,能够从节点调用 python 脚本但没有在 python 中获取传递的参数,而是收到错误 "TypeError: ord() expected string of length 1, but memoryview found"。 节点版本是 v4.4.5,python 版本是 2.7

python 脚本

    import zerorpc
    c = zerorpc.Client()
    c.connect("tcp://127.0.0.1:4242")
    print (c.hello("RPC"))

节点脚本

   var zerorpc = require("zerorpc");
   var server = new zerorpc.Server({
   hello: function(name, reply) {
      reply(null, "Hello, " + name);
   }
  });

  server.bind("tcp://127.0.0.1:4242");

这是 msgpack 的纯 python 实现而非本机库绑定的常见问题。仔细检查 msgpack 包的安装:

pip install --reinstall msgpack

请随意尝试 repo 中的这个分支,看看它是否有帮助,我知道我尝试解决这个问题,但我不保证任何事情:https://github.com/0rpc/zerorpc-python/tree/python3.4

(是的,此分支适用于 python>=2.6 和 python>=3.4)