如何解决导入错误:没有名为"dbus"的模块?



我已经在我的 ubuntu 上安装了 anaconda4,我的 Python 上有这些模块:

dbus-python (1.2.4)
gi (1.2)
pydbus (0.2)
QtAwesome (0.3.2)
qtconsole (4.2.0)
QtPy (1.0)
sip (4.18)

我尝试安装dbus-python (1.2.4)pydbus (0.2),但是,它们都不起作用!

在python 3.5.1中测试一个简单的程序后,出现了一个错误:

import dbus
system_bus = dbus.SystemBus()
ImportError: No module named 'dbus'

当我在 Python 2.7.11 和 3.5.1 中使用 pydbus 时:

from pydbus import SystemBus
bus = SystemBus()
systemd = bus.get(".systemd1")
for unit in systemd.ListUnits():
    print(unit)

我收到此错误:

ImportError: No module named repository

唯一有效的是这个带有PyQT4的示例,我没有任何教程。

问题出在哪里?是我的安装还是别的什么?

试试这个 Python 3.6 32 位版本

pip install dbus-python
我不知道

在 anaconda 中安装 dbus,但你可以在 ubuntu 中使用 apt-get 安装它。

sudo apt-get install python-dbus

我之前尝试过使用 pip,但这对我不起作用。

我在

python3中安装 notify2 时遇到了同样的问题我在MacOS 10.12上解决方法为

brew install dbus

我不确定您是如何安装模块的,但发生此错误很可能是因为模块未安装或未正确安装。我建议以下方法来安装模块。

pip install dbus

或者因为你有蟒蛇,这也行得通

conda install dbus

如果您能够在 GitHub 上访问和下载源代码,则可以尝试以下两种方法。导航到源代码目录,然后在终端中运行以下命令:

pip install setup.py

python setup.py build
python setup.py install

有关从源代码分发安装软件包的更多信息,请参阅此页面。

我在运行名为 zeitgeist-explorer 的应用程序时遇到了同样的问题,但通过安装 python2-dbus 解决了它,因为系统使用的是 3.5 版,而应用程序需要 2 个版本。如果您遇到这样的错误,请查看这篇文章修复导入错误没有名为DBUS的模块

pydbus 需要 python-gi(在 Python 3 的情况下为 python3-gi)。而pydbus 0.2真的已经过时了,0.5.1是当前版本。

只是做

sudo apt-get install python-dbus

在基于 Debian 的操作系统上(在您的情况下是 Ubuntu)或

brew install dbus

在 MacOSX 上

尝试重新安装 dbus-python。同时尝试另一个虚拟环境。

最新更新