在我的sys.path中添加/ usr / lib / python3 / dist-packages之后,正如有人在另一篇文章中建议的那样,当我尝试在python3中导入dbus时,我现在收到错误:
>>> import dbus
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/dbus/__init__.py", line 82, in <module>
import dbus.types as types
File "/usr/lib/python3/dist-packages/dbus/types.py", line 6, in <module>
from _dbus_bindings import (
ModuleNotFoundError: No module named '_dbus_bindings'
我尝试用apt重新安装python3-dbus,但无济于事。在尝试完全重置我的python3-dbus时,我甚至不得不在意外卸载dbus而不是python3-dbus后重新安装我的操作系统。我甚至从源代码安装了Python 3.6.4。任何帮助都表示赞赏,因为我完全不知道为什么这不起作用。
我的/ usr / lib / python3 / dist-packages / dbus /目录中的文件:
bus.py exceptions.py lowlevel.py service.py
_compat.py _expat_introspect_parser.py mainloop types.py
connection.py gi_service.py proxies.py _version.py
_dbus.py glib.py __pycache__
decorators.py __init__.py server.py
在我看来,python正试图从文件_dbus_bindings.py导入,但它不存在。我在网上查看了这个错误,并没有找到任何有用的东西。
答案 0 :(得分:0)
如果您通过ppa安装了数据包“ python3.6”(如此处的说明:http://ubuntuhandbook.org/index.php/2017/07/install-python-3-6-1-in-ubuntu-16-04-lts),则可以使用以下命令将命令python3切换回指向版本3.5的python:
sudo update-alternatives --config python3
我在启动依赖于Python 3.5的unity-tweak-tool时遇到问题,并给我“没有名为'_dbus_bindings'的模块”错误。尽管此解决方案使您无法使用python 3.6,但该解决方案也有所帮助。
答案 1 :(得分:0)
我通过以下方式解决了这个问题:
pip3 install dbus-python