树莓派运行Firestore数据上传Python脚本出现grpc导入错误求助
问题原因
你遇到的报错是32位ARM架构树莓派系统上grpcio依赖包的已知兼容性问题:官方预编译的grpcio二进制包在32位ARM系统上没有正确链接libatomic库,导致加载时找不到原子操作的相关符号。和你安装的google-cloud-firestore包本身没有关联,所以重装这个包没用。
解决步骤
- 先卸载现有存在问题的依赖包
pip3 uninstall grpcio grpcio-status google-cloud-firestore firebase-admin -y
- 安装编译依赖和缺失的原子库
sudo apt update && sudo apt install build-essential python3-dev libatomic1 -y
- 强制本地编译安装
grpcio,编译时主动链接libatomic库
CFLAGS="-latomic" pip3 install --no-binary=grpcio grpcio==1.59.0
- 重新安装Firebase相关依赖
pip3 install firebase-admin google-cloud-firestore
补充优化
你的代码里存在重复导入的冗余代码,可以删掉from google.cloud import firestore这一行,firebase_admin已经提供了firestore的导入入口,重复导入不会影响运行但属于多余代码。
内容的提问来源于stack exchange,提问作者W_Surenbroek
相关产品推荐
相关产品推荐

