Python 无法将函数发送到Pyro

Python 无法将函数发送到Pyro,python,pyro,Python,Pyro,我可以通过Pyro连接发送math.sqrt,但是我不能通过Pyro连接发送我自己定义的函数 当我这样做时,我得到一个Pickle函数错误 接收模块和发送模块都定义了功能 Pyro.core.initClient() connection = Pyro.core.getProxyForURI("PYRONAME://HelloWOlrd") print connection.makeRequest(my_function) 在我的接收端: def makeRequest(self,

我可以通过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,但如果我尝试发送我创建的函数,它会给我一个pickle错误:

cPickle.PicklingError:无法pickle:属性查找内置。函数失败

同样,接收模块和发送模块都在其名称表中定义了函数


有人知道我如何解决这个问题吗?

你不能pickle类方法,有一个关于它的增强请求


我的功能是def function(x):x**2我使用的是pyro 3.x,我听说pyro 4中有类似移动代码的东西?这对我的情况有用吗