树莓派3(Ubuntu Server 20.04 LTS)pip3安装grpcio失败问题咨询
问题根因
- 你当前使用的pip 20.0.2版本过旧,无法匹配树莓派arm架构的预编译grpcio安装包,触发源码编译流程。树莓派3硬件算力有限、仅1G运行内存,且缺少编译所需的系统依赖库,最终导致安装超时失败。
- 使用
sudo pip3直接修改系统全局Python环境,属于不规范操作,容易引发系统依赖冲突。
解决步骤
1. 安装系统依赖
先安装编译及运行gRPC所需的系统层面依赖包:
sudo apt update && sudo apt install -y python3-dev libssl-dev libffi-dev build-essential pkg-config grpc-dev protobuf-compiler
2. 升级pip版本
升级pip到最新版本,即可识别arm架构的预编译wheel包,无需源码编译:
python3 -m pip install --upgrade pip
建议搭配国内PyPI镜像源使用,可大幅提升下载速度避免超时
3. 安装gRPC相关包
使用当前用户权限安装,不要加sudo避免修改系统依赖:
pip3 install grpcio grpcio-tools
如果仍触发源码编译,可指定安装适配arm架构的成熟版本,命令如下:
pip3 install grpcio==1.48.2 grpcio-tools==1.48.2
1.48.x版本对armv7/arm64架构适配完善,有官方预编译包,无需编译即可快速安装完成
4. 验证安装
执行以下命令确认安装成功:
python3 -c "import grpc; print(grpc.__version__)"
正常输出版本号即表示安装完成,可正常运行基于gRPC的Python应用。
可选操作:临时增加交换空间
如果确实需要源码编译,树莓派内存不足会导致编译中断,可临时开启2G交换空间:
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
安装完成后可关闭并删除交换文件释放存储空间:
sudo swapoff /swapfile sudo rm /swapfile
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

