树莓派3部署Google Assistant遇pathlib2模块缺失错误求助
解决Google Assistant设备命令控制LED时的
ImportError: No module named pathlib2问题 别着急,这个错误就是你的Python环境里缺了pathlib2这个依赖包,很容易搞定。
第一步:安装缺失的依赖
因为你的脚本里用了import pathlib2 as pathlib,而这个库是给Python 2提供pathlib兼容支持的(Python 3.4+自带原生pathlib),直接在树莓派终端运行对应的安装命令就行:
- 如果你的默认Python是2.x版本:
sudo pip install pathlib2 - 如果用的是Python 3:
sudo pip3 install pathlib2
安装完成后,再重新运行你的启动命令:
python hotword.py --device_model_id assistantraspi-1d671-pigooglev2-8n98u3
额外的几个注意点(避免后续踩坑)
GPIO初始化要补全
你的hotword.py里导入了RPi.GPIO,但没做初始化配置,这可能导致LED控制失效。建议在main()函数开头加上这段代码:# 初始化GPIO引脚(BCM编号模式) GPIO.setmode(GPIO.BCM) GPIO.setup(25, GPIO.OUT) GPIO.output(25, 0) # 启动时默认关闭LED还要记得在程序结束时清理GPIO状态,可以在Assistant的代码块外加上finally:
try: with Assistant(credentials, device_model_id) as assistant: # 原有的assistant启动、事件处理代码... finally: GPIO.cleanup()权限问题
控制树莓派GPIO通常需要root权限,如果后续运行时遇到GPIO相关的错误,试试用sudo启动脚本:sudo python hotword.py --device_model_id assistantraspi-1d671-pigooglev2-8n98u3设备注册状态检查
脚本里的WARNING_NOT_REGISTERED提示要留意,确保你的设备已经按照要求完成注册,否则Google Assistant的设备命令可能无法触发。
内容的提问来源于stack exchange,提问作者Chris Eytcheson
相关产品推荐
相关产品推荐

