树莓派400安装Adafruit_DHT失败 导入报ModuleNotFoundError
DHT-11依赖安装失败、导入报错排查方案
核心问题原因
你遇到的报错来自两个高频问题:
- 执行安装命令时调用的pip和运行代码时使用的Python解释器环境不匹配,包被安装到了其他Python版本的路径下,运行代码时无法检索到
- 旧版Adafruit_DHT库长期未更新,对新版树莓派系统的硬件识别逻辑存在缺陷,强制安装参数容易触发路径安装异常
解决步骤
方案1:修复原版库安装(无需修改原有代码)
- 先清理之前错误安装的残留文件
sudo pip3 uninstall -y Adafruit_DHT sudo rm -rf /usr/local/lib/python*/dist-packages/Adafruit_DHT*
- 确认你日常运行脚本使用的Python解释器路径,执行以下命令查看:
which python3
正常会输出类似/usr/bin/python3的绝对路径,后续安装直接调用这个解释器内置的pip,从根源避免环境错配。
3. 执行安装命令:
注意:如果你平时运行Python脚本不需要加sudo,下面的命令就不要加sudo;如果跑脚本需要sudo权限访问GPIO,就在命令最前面加sudo
# 把前面的路径替换成你上一步查到的python3绝对路径 /usr/bin/python3 -m pip install Adafruit_DHT --install-option="--force-pi"
- 安装完成后直接做导入验证,不要先跑自己的项目代码:
# 用你平时跑代码的方式进Python交互环境 python3 >>> import Adafruit_DHT
执行导入不报错就说明安装成功,可以正常调用库读取传感器数据。
方案2:替换为官方维护的新版兼容库(适配64位新系统,稳定性更高)
如果方案1执行后依然报错,说明旧库和你当前的树莓派系统版本不兼容,直接替换为官方持续维护的新版DHT库即可,接口逻辑改动极小:
- 清理旧库残留,安装系统依赖和新版库:
sudo pip3 uninstall -y Adafruit_DHT sudo apt update && sudo apt install -y libgpiod2 python3 -m pip install adafruit-circuitpython-dht
- 修改原有代码的导入和初始化部分,其余温湿度读取逻辑无需改动:
import adafruit_dht import board # 初始化DHT11,D4替换为你实际接线的GPIO引脚编号 dht_device = adafruit_dht.DHT11(board.D4) # 读取数据逻辑和旧库一致 temperature = dht_device.temperature humidity = dht_device.humidity print(f"温度: {temperature}℃, 湿度: {humidity}%")
内容的提问来源于stack exchange,提问作者Bob_Scooper
相关产品推荐
相关产品推荐

