无法在venv中导入dbus

Can't import dbus in venv

OS:Ubuntu 20 python:3.8.2 IDE:Pycharm CE

一般来说,情况是我可以通过 /usr/bin/python3 在终端中导入 dbus,但我必须在 pycharm 中初始化我的项目并尝试构建一个基于解释器的 venv( /usr/bin/python3).

然而,在pycharm的终端(venv激活)中,我无法导入dbus。 但是如果我不使用venv直接选择系统解释器就OK了。

已经尝试将 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.