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

AWS Lambda Python3.7环境Numpy/Pandas/s3fs层版本兼容问题求助

我已经安装了pandas、numpy、s3fs并打包为zip文件作为层使用,已将该zip文件上传至S3存储桶,但不清楚需要使用什么版本,当前使用Python 3.7.9版本。

Lambda Python3.7 依赖层打包兼容方案

操作流程问题排查

你当前的打包流程存在两处核心问题:

  • Windows环境下直接pip安装的依赖包含Windows专属的二进制执行文件,和Lambda运行的Amazon Linux 2 x86_64环境不兼容,直接打包上传必然会出现版本/架构不兼容报错
  • 若没有按照Lambda层要求的目录结构打包,也会导致Lambda无法识别到依赖包

兼容版本推荐(适配Python 3.7.9 + Lambda x86_64环境)

不需要Docker的情况下,直接从PyPI下载对应版本的manylinux2014_x86_64架构的whl包即可,推荐兼容版本如下:

  • pandas==1.3.5:Python3.7支持的最高稳定pandas版本
  • numpy==1.21.6:和pandas1.3.5完全兼容的numpy版本
  • s3fs==2022.11.0:支持Python3.7且适配S3大文件读取的s3fs版本

正确打包步骤

  1. 创建层级目录:python/lib/python3.7/site-packages/,该目录结构是Lambda层识别依赖的强制要求
  2. 将下载的三个whl文件依次解压,把解压得到的所有包文件全部放到上述site-packages目录下
  3. 可选优化:删除目录下所有.pyc文件、测试文件夹、文档文件夹,减小最终包体积,避免超出Lambda层250MB解压大小限制
  4. 选中python文件夹直接打包为zip文件,压缩包根目录必须直接显示python文件夹,不能嵌套额外外层目录
  5. 将打包好的zip上传到S3后再创建Lambda层即可正常使用

大文件读取注意事项

读取2GB以上CSV文件时需要做如下配置避免报错:

  • Lambda函数内存配置至少调至2GB以上,同时调整超时时间到匹配文件读取时长
  • 不要将完整文件下载到Lambda本地/tmp目录(/tmp目录最大仅512MB),直接用s3://路径传入pd.read_csv,同时指定chunksize参数分块读取,避免内存溢出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:45:03