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

AWS Lambda导入simple-salesforce层提示缺少GLIBC_2.18错误如何解决

问题排查与解决方案

1. GLIBC版本不兼容报错处理

报错核心原因是Ubuntu 18.04自带的GLIBC版本为2.27,而你使用的AWS Lambda Python 3.6运行环境基于Amazon Linux 2,最高仅支持GLIBC 2.17,simple-salesforce依赖的cryptography库高版本采用Rust编译,会依赖高版本GLIBC导致报错。
解决方法二选一:

  • 优先选择指定低版本无Rust绑定的cryptography库安装,执行命令:
    pip install cryptography==3.4.8 simple-salesforce -t build/python/lib/python3.6/site-packages
    cryptography 3.4.8及更早版本无Rust编译绑定,不会触发GLIBC版本依赖错误。
  • 直接使用AWS官方提供的Lambda对应运行环境的容器镜像打包,打包环境和Lambda运行环境完全一致,从根源避免系统依赖兼容问题。

2. 依赖缺失报错处理

你单独使用.whl文件安装时仅安装了simple-salesforce本体,未自动安装其关联依赖,才会出现requests、authlib等包缺失的报错,按以下流程打包即可解决:

  • 第一步先清空build目录下的site-packages文件夹,避免旧文件干扰
  • 第二步执行完整安装命令,自动拉取所有关联依赖,不要加sudo避免部分依赖被安装到系统目录而非目标文件夹:
    python3 -m pip install --no-cache-dir simple-salesforce -t build/python/lib/python3.6/site-packages
  • 打包时直接选中python文件夹压缩,不要将外层build目录也打入压缩包,Lambda层要求压缩包解压后第一层即为python目录。

3. 打包后校验步骤

  • 打包前进入build/python/lib/python3.6/site-packages目录,确认存在simple_salesforce、requests、authlib、cryptography四个文件夹,确认依赖安装完整
  • 如果你同时使用pandas层,需要确认pandas层的Python版本和当前层完全一致,避免版本冲突

4. Lambda运行验证

部署层后先使用仅包含simple-salesforce导入的测试代码验证,排除其他层的干扰,确认当前层可用后再叠加其他业务依赖层。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:15:04