4
我有一个PY文件下面的类定义:Pyro4有回调
class this_obj(object):
def __init__(self):
self._apple = 5.0
self.observ_apple = []
def setter(self, value):
if (self._apple != value):
self._apple = value
for callback in self.observ_apple:
callback(self._apple)
def getter(self):
return self._apple
# apply property
apple = property(getter, setter)
# binder functions
def bind_to_apple(self, callback):
self.observ_apple.append(callback)
而且我在另一个文件这主要代码:
import handler_obj
def print_on_change(value):
print("apple change!!! " + str(value))
if __name__ == "__main__":
q = handler_obj.this_obj()
q.bind_to_apple(print_on_change)
print(q.getter())
q.setter(30)
print(q.getter())
如果你运行这段代码,你可以看到,它正在运行。现在我试图用Pyro4运行相同的代码。当我这样做,我总是碰到下面的错误信息:
Pyro4.errors.SerializeError: unsupported serialized class: builtins.function
以下行:
q.bind_to_apple(print_on_change)
我的问题是: 这甚至可能与Pyro4或者这是一个限制序列化程序?如果我尝试使用咸菜而不是蛇,这可以解决吗?
如果不是有Pyro4的替代品,你可以为我建议这种情况下?
在此先感谢。
不要编辑configuration.py文件本身,因为它是库的一部分!使用另一种方式来更改配置项(例如通过使用适当的环境变量) –