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

AWS Amplify Python3.9 Lambda导入pandas触发numpy C扩展导入失败

问题根本原因

你在Windows 10本地环境通过pipenv安装的numpy、pandas均为适配Windows平台的预编译版本,包内的C扩展仅支持Windows系统运行。而AWS Lambda的实际运行环境为Linux(x86_64或arm64架构),平台不兼容导致numpy的C扩展无法加载,触发报错。
你之前尝试的重装操作都是在本地Windows环境下重装Windows版本的依赖,因此无法解决Linux运行环境的兼容问题。

可行解决方案

方案1:直接安装适配Lambda平台的依赖包

安装时指定目标平台参数,拉取对应Linux架构的预编译包:

  • 若你的Lambda使用x86_64架构,执行命令:
    pipenv install --platform manylinux2014_x86_64 --only-binary=:all: pandas numpy
  • 若你的Lambda使用arm64架构,执行命令:
    pipenv install --platform manylinux2014_aarch64 --only-binary=:all: pandas numpy
    参数--only-binary=:all:会强制拉取对应平台的预编译二进制包,避免本地编译产生的兼容问题。

方案2:使用AWS公共Lambda层(最简便)

直接在AWS Lambda控制台的公共层中,搜索对应Python3.9版本的pandas官方托管层(搜索关键词AWSSDKPandas-Python39),选择和你Lambda架构匹配的层附加到函数即可,无需自行打包依赖。

方案3:容器镜像打包部署

如果后续依赖复杂度更高,可以使用AWS官方提供的Python3.9 Lambda基础镜像,在Docker容器内完成所有依赖安装后,将镜像推送至ECR再部署到Lambda,从根本上规避跨平台兼容问题。

验证排查点

  • 确认本地pipenv使用的Python版本和Lambda的Python3.9完全一致,避免版本 mismatch
  • 打包部署前可以解压numpy的安装包,检查core目录下的扩展文件是否为Linux平台的.so格式,而非Windows的.dll格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:15:02