You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

32位SELinux系统下离线从源码安装GRPC Python的方法咨询

无网络环境下从源码安装gRPC Python的完整流程

没问题,我来给你详细梳理一下无网络环境下从源码安装gRPC Python的完整流程,亲测适用于你提到的Python 3.7 + pip3环境:

第一步:在有网络的机器上准备离线安装包

因为目标机器没有网络,所有需要的源码和依赖都得提前在能上网的机器上备好:

  • 克隆gRPC源码仓库(包含依赖的子模块)
    gRPC依赖Protobuf等子项目,所以克隆时一定要拉取子模块:

    git clone --recurse-submodules https://github.com/grpc/grpc.git
    

    如果已经克隆过仓库,执行下面的命令同步子模块:

    cd grpc
    git submodule update --init --recursive
    
  • 下载Python依赖的源码包
    用pip下载gRPC Python所需的所有依赖的源码包(避免二进制包兼容性问题):

    pip download --no-binary :all: grpcio-tools protobuf six setuptools wheel
    

    执行后,当前目录会生成一堆.tar.gz格式的源码包,这些都是离线安装必需的。

第二步:将文件传输到目标机器

把刚才克隆的grpc文件夹,以及所有下载的.tar.gz依赖包,通过U盘、内网共享或者其他离线传输方式,传到目标机器的某个目录下,比如/opt/grpc-offline/(你可以根据实际情况调整路径)。

第三步:在目标机器上执行安装

先确保目标机器已经安装了C编译环境(gcc、make)和Python开发包(比如python3-develpython3.7-dev),否则编译过程会报错。如果没有的话:

  • CentOS/RHEL系统:yum install gcc make python3-devel
  • Ubuntu/Debian系统:apt install gcc make python3.7-dev

接下来按顺序安装:

  1. 安装基础工具依赖
    进入依赖包所在目录,先安装setuptools、wheel和six:

    cd /opt/grpc-offline/
    pip3 install setuptools-*.tar.gz wheel-*.tar.gz six-*.tar.gz
    

    如果遇到权限问题,加上--user参数安装到用户目录:pip3 install --user ...

  2. 安装Protobuf(gRPC核心依赖)
    推荐使用gRPC源码自带的Protobuf子模块,避免版本不兼容问题:

    cd /opt/grpc-offline/grpc/third_party/protobuf
    python3 setup.py install
    
  3. 安装gRPC Python核心库
    进入gRPC的Python源码目录执行安装:

    cd /opt/grpc-offline/grpc/python
    python3 setup.py install
    

    这个过程会编译C扩展,可能需要几分钟时间,耐心等待即可。

  4. 安装gRPC工具链(可选但推荐)
    安装grpcio-tools可以让你生成Python版的gRPC服务端/客户端代码:

    cd /opt/grpc-offline/
    pip3 install grpcio-tools-*.tar.gz
    

第四步:验证安装是否成功

创建一个简单的测试脚本test_grpc.py

import grpc
print(f"gRPC Python安装成功,版本:{grpc.__version__}")

执行脚本:

python3 test_grpc.py

如果能正常输出版本号,说明安装完全没问题了。


内容的提问来源于stack exchange,提问作者PMu

火山引擎 最新活动