无法向Pyro发送功能

时间:2013-10-26 15:01:48

标签: python pyro

我可以通过Pyro连接发送math.sqrt,但是我无法发送我自己通过Pyro连接定义的函数。

当我这样做时,我得到一个Pickle功能错误。

接收模块和发送模块都定义了功能。

Pyro.core.initClient()
    connection = Pyro.core.getProxyForURI("PYRONAME://HelloWOlrd")

print connection.makeRequest(my_function)

在接收方:

def makeRequest(self, function):
    return function(9)

同样,如果我在连接上发送math.sqrt函数,它会打印3,这是预期的,但如果我尝试发送我做的函数,它会给我一个泡菜错误:

cPickle.PicklingError:无法腌制:属性查找内置 .function失败

再次接收模块和发送模块都具有在其名称空间中定义的功能。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你不能挑选类方法,有关于它的增强请求http://bugs.python.org/issue9276

See there可以选择哪些对象并修改适当的代码。