Pigpio 报错分析与解决指南
Pigpio 是一个用于控制树莓派 GPIO(通用输入输出)引脚的库,广泛应用于各种硬件交互项目中,在实际应用过程中,用户可能会遇到一些常见的问题和错误,本文将详细分析这些报错信息及其解决方案,并提供一个常见问题解答部分。

常见报错及解决方案
1.ImportError: No module named 'pigpio'
原因:
该错误通常是由于没有安装 pigpio 模块导致的。
解决方案:
- sudo aptget update
- sudo aptget install python3pigpio
或者使用 pip 安装:

- pip3 install pigpio
2.FileNotFoundError: [Errno 2] No such file or directory: '/dev/piblaster'
原因:
这个错误通常发生在 pigpio 的 daemon 进程没有启动的情况下。
解决方案:
确保 pigpio daemon 正在运行:
- sudo systemctl status pigpiod
如果未运行,可以启动它:

- sudo systemctl start pigpiod
或者手动启动:
- sudo pigpiod
3.OSError: [ERRNO 95] Operation not supported
原因:
该错误通常出现在试图访问不支持的 GPIO 功能时,例如在模拟模式下运行代码。
解决方案:
确保代码在真实设备上运行,而不是在模拟器或虚拟机中运行,检查 GPIO 引脚是否被其他程序占用。
4.PermissionError: [Errno 13] Permission denied
原因:
这是由于权限不足,无法访问 GPIO 引脚。
解决方案:
以超级用户权限运行脚本:
- sudo python3 your_script.py
或者将当前用户添加到gpio
组:
- sudo usermod aG gpio $(whoami)
然后重新登录系统。
5.RuntimeError: Interrupts not supported
原因:
该错误表明当前环境不支持中断处理,可能是由于使用了非实时操作系统。
解决方案:
确保你使用的是支持实时中断处理的操作系统版本,或者避免使用中断相关的功能。
表格归纳
错误类型 | 可能原因 | 解决方案 |
ImportError | 没有安装 pigpio | sudo aptget install python3pigpio 或pip3 install pigpio |
FileNotFoundError | pigpio daemon 未启动 | sudo systemctl start pigpiod 或手动启动sudo pigpiod |
OSError (Operation not supported) | 在不支持的环境中运行 | 确保在真实设备上运行代码,并检查 GPIO 引脚是否被占用 |
PermissionError | 权限不足,无法访问 GPIO 引脚 | 以超级用户权限运行脚本或添加当前用户到gpio 组 |
RuntimeError (Interrupts not supported) | 不支持中断处理 | 确保使用支持实时中断处理的操作系统版本 |
FAQs
Q1: 如果安装了 pigpio 但仍然出现ImportError
,怎么办?
A1: 首先确认是否正确安装了 pigpio,可以通过以下命令检查:
- pip3 show pigpio
如果显示了相关信息,说明已经安装正确,如果没有,请尝试重新安装:
- pip3 uninstall pigpio
- pip3 install pigpio
确保你的 Python 环境路径正确,可以使用虚拟环境来管理依赖项。
Q2: 如何确认 pigpio daemon 是否在运行?
A2: 你可以使用systemctl
命令来检查 pigpio daemon 的状态:
- sudo systemctl status pigpiod
如果未运行,可以通过以下命令启动它:
- sudo systemctl start pigpiod
或者手动启动:
- sudo pigpiod
如果需要开机自启,可以启用服务:
- sudo systemctl enable pigpiod