【问题标题】:Cannot import gi.repository in Python3无法在 Python3 中导入 gi.repository
【发布时间】:2022-01-03 19:59:23
【问题描述】:

我正在浪费大量时间试图找到一种在 Python3 中导入模块 gi.repository 的方法,无论我尝试安装什么,使用 pip 或使用 apt 似乎都不起作用。 我只能找到很多年前的问题和答案,即使我所遵循的指南仅来自一年前。 本指南 (https://punchthrough.com/creating-a-ble-peripheral-with-bluez/) 将在 Raspberry Pi 上创建蓝牙服务(我使用的是 4、8GB)。 我正在构建一个 Flutter 应用程序来通过 BLE 控制覆盆子,以管理通过 GPIO 连接的一些硬件。 即使打开和关闭一个 LED 似乎也很困难,而且需要太多的代码行才能完成。任何人有一些建议可以让它变得简单吗?

  • 我正在使用 python3 virtualenv
  • 我的说法是:from gi.repository import GLib
  • 错误信息是:ImportError: No module named gi.repository
  • 使用:Raspbian GNU/Linux 10 (buster)
  • 显然我已经尝试过 pip install 和 apt install 来解决这个问题

【问题讨论】:

  • 我更新了问题,感谢您的支持:)
  • 我正在寻找一些替代方案,我找到了 bluezero 库,我想你写了它,现在我正在运行 cpu_temperature.py 脚本,我遇到了与 gi.repository 相同的错误。我在您建议的链接上安装了 pip 库(选项 1),但它不起作用
  • 是的,我做到了,现在脚本运行了,但是我不明白为什么其他设备看不到树莓派(我也使用bluetoothctl打开广告)
  • 好的,我的错,使用 btmon 我注意到脚本可以工作,我可以连接到 RPI,非常感谢!

标签: python-3.x bluetooth raspberry-pi


【解决方案1】:

正如@ukBaz 所建议的,解决方案是使用'--system-site-packages' 选项创建一个新环境:所以解决方案是:

python3 -m venv --system-site-packages env_name

...现在脚本运行,gi.repository 导入工作!

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2014-11-10
    • 1970-01-01
    • 2018-09-19
    • 2017-02-15
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多