推荐使用 pydbus 或 dbus-python 有啥区别?

Posted

技术标签:

【中文标题】推荐使用 pydbus 或 dbus-python 有啥区别?【英文标题】:What is recommended to use pydbus or dbus-python and what are the differences?推荐使用 pydbus 或 dbus-python 有什么区别? 【发布时间】:2020-02-26 14:12:58 【问题描述】:

我正在尝试实现一个 dbus 服务,该服务将在 Gtk 应用程序中使用。

有两个 Python 模块(pydbus 与 dbus-python)声称可以做到这一点。我一直找不到这两种实现的任何赞成和反对清单。

我的简短问题是:

在 Python3 中实现 dbusservice 的推荐方法是什么?

【问题讨论】:

您的问题是基于意见的,这使其成为非 *** 问题。 【参考方案1】:

pydbus 更好,因为 dbus-python 已被弃用。

您可以在这里阅读更多内容:https://wiki.python.org/moin/DbusExamples

老实说,pydbus 今天似乎没有得到积极维护,最后一个版本是从 2016 年开始的。还有第三种方法是使用 PyGObject 从 GLib 中使用 GDBus。

【讨论】:

感谢您的回答...来自 Glib 的 GDBus - 是否有任何示例操作指南?我通常发现很难将 C-api 转换为 python 。正如您所说,pydbus 并没有真正得到维护,但是 dbus-python 在其 repos 中每月提交一次,所以可能不会被弃用?如前所述,我很困惑。 嗯,我无法在 Python 中通过快速搜索找到服务器的示例。这是客户的一个很好的例子:aleksander.es/data/… 这里有一个很好的建议的答案:***.com/questions/54113389/… 所以... 总之到目前为止 - 有两个 Pythonic 选项都具有不确定的未来和一个很难使用的稳定 api。谢谢你的建议。 pydbus 不支持异步调用,即使添加它们的 PR 已经提交了很长时间,但它还没有被合并,我看不到很快或永远不会发生这种情况的迹象.【参考方案2】:

由于 pydbus 开发自 2018 年以来实际上已经消亡,pythonic 实现的最佳选择可能是dasbus。 Dasbus 直接受到 pydbus 的启发,旨在取代它并正在积极开发中。

【讨论】:

以上是关于推荐使用 pydbus 或 dbus-python 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Pydbus中不同数量的参数

在 PyDbus 模拟中使用私有 DBus 连接

wpa_supplicant 没有接口(pydbus)

适用于 Windows 的 Dbus-Python

dbus-python 如何获得原生类型的响应?

Bluez BLE 连接监控使用 DBUS-Python