问题描述
操作系统:Ubuntu 20 的Python:3.8.2 IDE:Pycharm CE
一般来说,情况是我可以通过/ usr / bin / python3在终端中导入dbus,但是我必须在pycharm中初始化我的项目,并尝试构建基于解释器的venv(/ usr / bin / python3)。
但是,在pycharm的终端中(激活了venv),我无法导入dbus。 但是,如果我直接选择没有venv的系统解释器,那么一切都会好的。
已经尝试将dbus文件夹从系统软件包根目录复制到venv,但是没有任何努力。 不要认为重新安装dbus-python可以解决此问题,因为它在real-envi中工作正常,并且我已经在venv中安装了dbus-python。
只是想知道为什么...导致没有venv还是有点麻烦。
解决方法
dbus-python要求使用--system-site-packages
创建Python虚拟环境,因为它取决于系统软件包管理器中安装的软件包。
在Pycharm中,这意味着在创建虚拟环境时选中Inherit global site-packages
框。
您可以考虑使用不具有相同依赖项的其他Python D-Bus绑定,例如pydbus。