You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

conda-forge或PyPI的Python包grpcio是否基于BoringSSL构建?

核心结论

版本≥1.38.1的官方预编译grpcio包(含PyPI官方wheel、conda-forge预构建版本)默认静态链接BoringSSL,不会调用系统自带的OpenSSL。只有自行编译时主动指定使用系统SSL的构建参数,才会动态链接系统OpenSSL。

验证方法

你可以通过以下三种方式自行确认当前安装的grpcio使用的SSL库:

  • 方法1:查看内置构建参数
    安装对应版本grpcio后执行以下代码:
import grpc
print(grpc._grpcio_metadata.IGNORE_OPENSSL_INSTALLATION)

输出为True即代表当前版本是静态链接BoringSSL的预编译版本,会直接忽略系统OpenSSL。

  • 方法2:检查二进制文件的动态链接依赖(仅适用于Linux、macOS系统)
    先找到grpcio安装路径下的核心二进制文件,通常路径为Python第三方库目录下的grpc/_cython/cygrpc.cpython-xxx.so。
    • Linux系统执行命令:
    ldd /path/to/your/site-packages/grpc/_cython/cygrpc*.so | grep -i ssl
    
    • macOS系统执行命令:
    otool -L /path/to/your/site-packages/grpc/_cython/cygrpc*.so | grep -i ssl
    

如果没有输出libssl相关的依赖项,说明没有动态链接系统OpenSSL,使用的是静态嵌入的BoringSSL。

  • 方法3:验证源码构建规则
    如果是自行从源码编译grpcio,默认构建逻辑会自动拉取BoringSSL源码静态编译嵌入,只有主动添加环境变量GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1执行编译时,才会链接系统OpenSSL。

内容的提问来源于stack exchange,提问作者Dr. Fabien Tarrade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:39:00