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

运行AWS Lambda Python 3.9时提示GLIBC_2.28未找到的问题求助

解决AWS Lambda中GLIBC_2.28缺失的问题

问题根源

你的Python 3.9 Lambda运行环境基于Amazon Linux 2,系统自带的GLIBC版本为2.26,但cryptography库(由pyopenssl间接依赖)的新版本编译时要求GLIBC 2.28,导致模块导入失败。

具体解决方案

方案1:固定兼容的cryptography版本

直接在requirements.txt中添加适配Amazon Linux 2的cryptography版本(比如3.4.8,该版本无需GLIBC 2.28),修改后的文件内容如下:

boto3
botocore
pycparser
pyopenssl
certifi
cffi
cryptography==3.4.8

重新打包依赖并部署Lambda函数即可。

方案2:在Amazon Linux 2环境编译依赖包

如果需要使用较新版本的cryptography,需在与Lambda一致的系统环境中编译依赖,确保生成的二进制文件兼容系统GLIBC:

  • 启动Amazon Linux 2的EC2实例,或使用Docker镜像amazonlinux:2
  • 安装Python 3.9及编译工具:
    sudo amazon-linux-extras install python3.9
    sudo yum install gcc python3.9-devel
    
  • 创建虚拟环境并安装依赖到指定目录:
    python3.9 -m venv lambda-env
    source lambda-env/bin/activate
    pip install -r requirements.txt -t ./package
    
  • 将package目录下的文件打包为zip,上传至Lambda。

方案3:使用Lambda层预打包兼容依赖

把编译好的兼容依赖打包成Lambda层,供函数复用:

  • 按方案2的步骤,将依赖安装到python/lib/python3.9/site-packages目录
  • 压缩该目录为zip文件,上传作为Lambda层
  • 在Lambda函数配置中添加该层,确保层的Python版本与函数一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:49:49