远程使用特征
remote_traits的Python项目详细描述
背景
这是一个非常粗糙的技巧,使热情的工作 多进程情况。假设一个名为alice的过程 名为camera的变量,它是(的子类)的实例 有特点。现在,如果另一个名为bob的进程想要被通知 当camera.shutter更改时,应该使用 机械特性。而且,如果鲍勃想改变爱丽丝的 快门设置,这些改变应该通知爱丽丝。
在这个问题上有一点discussion关于热情的发展 电子邮件列表,其中robert kern的想法是使用python 2.6 创建hasttraits子类代理对象的多进程模块 这样做是透明的。我怀疑这样的方法 很圆滑,但超出了我一天的能力 让代码工作的最后期限。
因此,我创建了一个hack:alice和bob进程都有 相互镜像的摄影机实例的完整副本。为了我的 实际使用情况下,Alice的相机实例将连接到 实际上,做的事情,比如用 真正的摄像头,而bob的摄像头实例将连接到gui 在远程计算机上。两个进程之间的同步 使用Pyro(python远程对象)发生。(对火神的依赖 可能会因为使用多进程而被删除,但是我 已经熟悉pyro了,还不知道怎么做 用多进程做同样的事情。)
不管怎样,这就是这个例子的动机。我打算 继续修改这个代码,直到它在 现实世界。
- Andrew Straw <strawman@astraw.com>
快速启动
要运行演示程序,请在一个终端中运行此程序:
# Start the "do" program -- Alice in the motivation above python wx_demo.py do
在另一个终端上运行:
# Start the "view" program -- Bob in the motivation above python wx_demo.py view
许可证
此代码已获得麻省理工学院许可(请参阅 完全许可)。