问题标签 [pyro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1488 浏览

python - 以正确的方式包装 Pyro 的 NameServer

我正在尝试将 Pyro 的名称服务器扭曲成一个更方便的对象,让我可以按照自己的意愿启动和停止它。例如,我希望能够做类似的事情

对 NameServer 类使用以下定义:

到目前为止,一切都很好。它按预期工作。但是,如果我Pyro4.naming.locateNS()在名称服务器运行时从另一个线程运行命令,那么下次我调用 nameServer.stopNS() 时,程序会冻结。任何人都知道为什么?编写这样的 NameServer 包装器的最佳(至少是更好)方法是什么。

0 投票
1 回答
296 浏览

python - Distributed Networked Applications (Python, Celery, 0MQ, etc)

Hi Everyone, I have been developing with python for about a year. Now i have a need to develop distributed applications which communicate with each other.

I do not have an idea which modulue will be the best to learn, so i need your help and advise on this.

My app needs are,

  1. Client Server must be able to communicate and exchange data with each other.

  2. Tasks Needs to be scheduled on server and client. Kind of Cron like, no need for auto consuming stuff.

  3. I would like to be able to complie everything into a exe,app,package to support Win,Mac,Linux. Thin Clients or workers, and fat servers

My issues are as follows.

  1. Nearly everything i see is going towards the web application (Djano, Celery). I need to have a daemon worker running, and thats it. But if i want to use celery, then i would need to have the code in py files and running, which i am not so keen on. Not to mention pyinstaller does not support the packaging

  2. I have researched quite a bit into it, and which module is best i am not sure. But i have sort of narrowed down to celery as the best bet. But i am thinking of ZeroMQ or Pyro as the compiling part later on i am not too sure.

Please do advise, Kumar

0 投票
1 回答
156 浏览

python - 无法向 Pyro 发送函数

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

当我这样做时,我得到一个泡菜函数错误。

接收模块和发送模块都定义了函数。

在我的接收方:

同样,如果我通过连接发送一个 math.sqrt 函数,它会打印出预期的 3,但如果我尝试通过我创建的函数发送,它会给我一个 pickle 错误:

cPickle.PicklingError: Can't pickle : attribute lookup builtin .function failed

同样,接收模块和发送模块都具有在其名称中定义的功能。

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

0 投票
0 回答
2412 浏览

python - “socket.error: [Errno 101] Network is unreachable”在 Ubuntu 的 Pyro4 python 应用程序中

我正在尝试在 python2.7 中使用 Pyro4 运行一个简单的应用程序;有两个程序第一个是 server.py,它将对象与其 IP 地址绑定并运行命名服务,第二个是在同一网络中的远程 pc 中运行的 client.py。以下代码如下:

我正在使用以下命令启动命名服务:

我使用命令检查了我的 IP 地址ifconfig

服务器.py

客户端.py

命名服务器启动没有任何问题,但是当我运行 server.py 时,它显示标题中提到的错误。

当我在 Windows 环境中测试相同的应用程序时,它没有任何错误但在 Ubuntu 13.04 中显示错误任何建议?

0 投票
1 回答
1278 浏览

python - 包装 Pyro4 名称服务器

我创建了一个类以允许我从脚本启动和停止 pyro 名称服务器(即不必启动多个程序,例如教程中的程序)。课程如下:

现在,如果我运行以下脚本

我得到以下输出:

但是,如果我将此代码作为两个不同的程序运行而不使用我的 NameServer 类,我不会得到这些延迟。例如,运行第一个脚本:

和第二个脚本

我得到以下结果

...第一种方法有什么问题?我不明白为什么每次 Pyro 调用都会延迟 1 秒。分析它告诉我,它是套接字方法 connect 需要 1 秒......

0 投票
1 回答
661 浏览

json - Python 3 中使用 JSON 的自定义类序列化

当 JSON 尝试使用 dict 中编码的类信息解码我的序列化自定义类时,我遇到了问题。我会尽量提供尽可能多的信息,所以请多多包涵。

我正在使用此处提供的优秀教程作为参考。我指的是详细说明为您自己的类编写编码/解码的部分。

我的包模块结构部分如下:

这些模块中的每一个都有自己的类。我在common.service模块中序列化Service类的对象。这基本上是通过 Pyro 连接使用的。

序列化代码为:

反序列化代码为:

该问题在反序列化期间发生。局部变量值是:

失败的原因是因为class _ 返回的是 package.module 值,而不是该模块内的类名。从技术上讲,_ 应该包含 common.service.Service,这是实际的类。因此,最后一条语句inst = class (**args)_ 因“TypeError: module object not callable”错误而失败。

我知道import或 importlib.import_module 都导入了那个顶级模块,但就我而言,我如何进入二级模块中的一个类?从技术上讲,第二级是模块,第一级是包,所以我需要 pkg.module 中的一个我无法访问的类。

我希望这个问题是有道理的,并且有足够的研究表明。如果需要澄清,我有更多信息。

编辑:用户建议解决了问题。

0 投票
0 回答
2240 浏览

python - Pyro4 Python “socket.error: [Errno 101] 网络不可达”

我在 Python/Pyro4 应用程序中遇到了一个奇怪的错误,我正在使用两台 Microsoft Windows 机器,一台使用 Windows 7,另一台使用 8.1,通过以太网连接;首先,我在名称服务器中注册了两个 Pyro 对象,一个在名称服务器中使用“Root”标签,另一个使用“Handler”标签,首先应用程序获取代理“Root”对象并使用没有问题,但是当需要调用包含在“处理程序”对象中的方法时,它会给出

我在一个单独的线程中启动每个组件(Pyro 对象),任何关于这里发生的事情的帮助表示赞赏,我会尽快发布一些代码。

0 投票
1 回答
512 浏览

msbuild - 补丁的 Windows Installer XML 相对路径

我正在使用 Microsoft Team Foundation Server 来管理和部署我的应用程序的设置。我的设置是具有相对路径的 WiX 设置。

pe 组件

变量.wxi:

<Include>

<?define SourceFiles = "..\OutputFiles"?>

</Include>

设置正在正确构建。问题:我正在使用 Torch 和 Pyro 为我的应用程序生成补丁。我正在使用带有操纵构建事件和附加链接器信息的纯 Wix 补丁项目

(预构建 - Torch)(构建后 - Pyro)(链接器附加参数 - 输出为 wixmsp)

当我构建我的补丁时,我得到 579Failures。(1x)

错误 776 命令 ""C:\Program Files (x86)\WiX Toolset v3.8\bin\pyro.exe" Patch.wixmsp -out Patch.msp -t AnwendungBaseline diff.wixmst" 退出,代码为 103。C
:\程序文件 (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets

和 (578x)

错误 322 系统找不到文件 '..\SourceFiles\Anwendung.exe'。C:\Patch\Client\Upgrade\Setup\ComponentMain.wxs

我确定它没有正确解析 sourcesetups 的路径。有人可以帮助我吗?罗伯·阿恩森、罗伯·门兴、希斯·斯图尔特?请 :)

0 投票
1 回答
359 浏览

python - 如何从 Pyro4 守护进程返回复杂的对象类型(python-ldap 连接)?

我有一个 Pyro4 守护进程正在运行,我想返回一个到 LDAP 的连接(由 python-ldap 模块实例化)。代码简短而简单,但是在尝试将连接返回到客户端脚本时,我遇到了(我相信)连接对象的序列化错误。

然后在我的驱动程序脚本中,我有以下内容(假设 uri 是已知的,为简洁起见将所有内容删掉):

这会导致以下错误:

我尝试更改 Pyro4 配置以接受不同的序列化程序,即:

但这并没有改变任何东西。

请忽略明显的安全漏洞,因为这被简化为产生错误的最基本代码。

0 投票
1 回答
648 浏览

python - Pyro:无法执行回调

使用 Pyro4 我还没有成功地执行从服务器到客户端的回调。

服务器脚本如下所示:

客户端如下所示:

执行命令robotController.doCallback(callback)时,服务器端的doCallback方法被执行,但服务器端无法访问客户端。它返回以下内容:

有谁知道错误的原因可能是什么以及如何解决?谢谢!