You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4使用bluepy库扫描蓝牙设备多场景报错求助

问题成因

  • 权限报错:蓝牙低功耗扫描需要操作蓝牙适配器的底层管理权限,普通用户默认没有对应权限,所以执行le on管理命令时被系统拒绝。
  • sudo运行报错队列模块不存在:sudo默认调用系统默认的Python2环境,Python2的队列模块名为Queue(首字母大写),而你安装的bluepy版本适配Python3,在Python2环境下导入queue(小写)模块失败。
  • Pycharm运行报错:Pycharm默认以当前普通用户身份启动,没有蓝牙操作的管理员权限,因此触发权限不足报错。
  • Python3运行找不到bluepy:你之前仅在Python2环境下安装了bluepy库,Python3的依赖库目录中没有该模块。

解决步骤

  1. 优先切换到Python3环境安装依赖,Python2已经停止维护,不建议继续使用:
# 先更新源并安装pip3
sudo apt update && sudo apt install python3-pip -y
# 给Python3安装bluepy
sudo pip3 install bluepy
  1. 运行脚本的两种可选方案:
  • 方案1(临时):每次运行脚本时使用sudo+python3的组合调用,避免权限和版本问题:
sudo python3 prova2.py
  • 方案2(永久免sudo):给bluepy的底层执行工具赋予必要的网络权限,后续普通用户即可直接运行:
# 注意把命令中的3.*替换为你实际的Python3版本号,比如Python3.9就写3.9
sudo setcap 'cap_net_raw,cap_net_admin+eip' /usr/local/lib/python3.*/dist-packages/bluepy/bluepy-helper
# 权限配置完成后直接用Python3运行即可
python3 prova2.py
  1. Pycharm运行适配:
    如果需要在Pycharm中运行,要么执行sudo pycharm以管理员身份启动Pycharm后再运行脚本,要么完成上述setcap权限配置后,直接普通启动Pycharm即可正常运行。
  2. 前置检查(可选):
    如果运行仍有问题,先确认蓝牙适配器已开启:
sudo bluetoothctl power on

内容的提问来源于stack exchange,提问作者user11989615

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:24:02