我可以通过 Pyro 连接发送 math.sqrt,但是我无法通过 Pyro 连接发送我自己定义的函数。
当我这样做时,我得到一个泡菜函数错误。
接收模块和发送模块都定义了函数。
Pyro.core.initClient()
connection = Pyro.core.getProxyForURI("PYRONAME://HelloWOlrd")
print connection.makeRequest(my_function)
在我的接收方:
def makeRequest(self, function):
return function(9)
同样,如果我通过连接发送一个 math.sqrt 函数,它会打印出预期的 3,但如果我尝试通过我创建的函数发送,它会给我一个 pickle 错误:
cPickle.PicklingError: Can't pickle : attribute lookup builtin .function failed
同样,接收模块和发送模块都具有在其名称中定义的功能。
有谁知道我该如何解决这个问题?