树莓派Zero W安装google-assistant-sdk[samples]失败求助
问题根因
报错来自grpcio==1.47.0源码包在树莓派Zero W所用ARMv6架构上的已知bug:安装脚本做链接器依赖检测时,给subprocess.Popen传入的executable参数错写成列表类型,和Python 3.9的参数校验逻辑冲突,直接触发类型错误。另外Zero W硬件性能极低,从源码编译grpcio单次耗时往往超过1小时,很容易触发内存不足、编译超时等额外问题。
解决步骤
所有操作默认在你之前创建、已经激活的Python虚拟环境内执行:
- 先避开有bug的1.47.0版本,升级基础包管理工具后,直接安装适配ARMv6、带预编译包的grpcio版本,省去本地编译的麻烦
pip install -U pip wheel pip install grpcio==1.44.0 --only-binary=:all:
升级pip是为了让它能正确识别官方适配树莓派的ARM架构预编译包,不需要本地从源码构建。
- 锁定grpcio版本范围,避免安装SDK时自动拉取有bug的1.47.0版本,再执行SDK安装
pip install --upgrade google-assistant-sdk[samples] "grpcio>=1.3.5,<1.47.0"
- 如果执行时还报编译类错误,先退出虚拟环境补全系统级依赖:
deactivate sudo apt-get install -y libatomic1 build-essential source env/bin/activate
补完依赖重新执行上一步的SDK安装命令即可。
安装校验
安装完成后执行以下命令,无导入报错、能正常打印版本号即为安装成功:
python -c "import grpc, google.assistant.embedded; print('安装成功,grpcio版本:', grpc.__version__)"
内容的提问来源于stack exchange,提问作者manderson96
相关产品推荐
相关产品推荐

