如何用python编写dbus接口

Python023

如何用python编写dbus接口,第1张

写一个 python 脚本需要用到 dbus,但因为 dbus-python 这个包并没有提供 setup.py , 所以无法通过 pip 直接安装,唯有下载源码手动编译安装一途了。

wget https://pypi.python.org/packages/source/d/dbus-python/dbus-python-0.84.0.tar.gz

tar zxvf dbus-python-0.84.0.tar.gz

cd dbus-python-0.84.0

D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途是在Linux桌面

环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。D-Bus的主要概率为总线,注册后的进程可通过总线接收或传

递消息,进程也可注册后等待内核事件响应,例如等待网络状态的转变或者计算机发出关机指令。目前,D-Bus已被大多数Linux发行版所采用,开发者可

使用D-Bus实现各种复杂的进程间通信任务。

而Python-dbus毫无疑问就是D-Bus的Python开发接口。

建议如果没有相关Linux下折腾的经验的话,不了解删除这个包会产生的后果的话,不要尝试卸载这个包。

当然非要作死也没关系,注意看卸载时的依赖关系,有没有把其他重要的包一起卸载了。

wifi-linux程序有下面这些依赖:

dbus-python

gnuplot-py

首先我们需要安装所有的包依赖以使它可以运行在我们的linux机器上。

安装wifi-linux需要的包

我尝试使用python包管理工具pip安装python-dbus但是失败了,因为pip会查找setup.py,但是python-dbus中没有。因此下面的命令不工作。

pip install dbus-python

你可以试一下但是很有可能会在终端中出现下面的错误。

IOError:[Errno2]No such file or

directory:'/tmp/pip_build_oltjano/dbus-python/setup.py'

我该怎么解决这个问题呢?很简单,用下面命令中的系统包管理工具来安装Python DBUS。

sudo apt-get install python-dbus

上面的命令只有在有apt-get包管理器的机器中才可以使用,比如Debian和Ubuntu。

我们要安装的第二个依赖是gnuplot-py。下载并用tar解压,接着运行setup.py来安装包。

第一步是下载gnuplot-py。

wget

http://prdownloads.sourceforge.net/gnuplot-py/gnuplot-py-1.8.tar.gz

接着使用tar工具解压。

tar xvf gnuplot-py-1.8.tar.gz

接着使用cd命令改变目录。

cd gnuplot-py-1.8

接着运行下面的命令在你的系统中安装gnuplot-py。

sudo setup.py install

安装完成后,你就可以在你的系统中运行wifi-linux了。只需下载并用下面的命令运行脚本。

用下面的命令下载wifi-linux到你的机器中。

wget https://github.com/dixel/wifi-linux/archive/master.zip

解压master.zip接着使用下面的命令运行list_rsssi.py脚本。

python list_rssi.py