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

AWS Lambda运行报错Unable to import module 'lambda_function'如何解决

AWS Lambda Python部署ImportModuleError报错排查方案

这个报错的核心是Lambda运行时无法定位到入口模块lambda_function.py,可按以下优先级逐一排查:

1. 部署包结构校验

  • 打包时不能直接压缩外层的lambdatest文件夹,需进入lambdatest目录内部,全选lambda_function.py和所有依赖文件后再打包。如果压缩包解压后第一层是lambdatest文件夹,Lambda无法读取到文件夹内的入口文件,会直接触发该报错。
  • 你从venv/lib/python3.9/site-packages复制的是各个依赖包的独立文件夹(例如requests、numpy等),需要直接放到压缩包根目录与lambda_function.py平级,不要套入额外的packages子文件夹,否则Python导包路径不匹配会导致依赖导入失败,连带触发模块找不到的报错。

2. 文件属性校验

  • 确认入口文件名严格为全小写的lambda_function.py,不存在大小写错误、拼写遗漏(例如误写为Lambda_function.py、lambda_funtion.py)。
  • 确认lambda_function.py的文件权限至少为644,本地Linux/macOS环境打包时不要设置仅当前用户可读取的高权限,Lambda运行时无权限读取文件也会返回模块不存在的错误。

3. 运行时配置校验

  • 确认Lambda控制台配置的运行时版本为Python 3.9,与你本地依赖编译使用的Python版本完全一致,版本不匹配会导致C扩展类依赖导入失败,连带触发模块导入错误。
  • 确认Lambda的处理程序配置为lambda_function.lambda_handler,对应lambda_function.py文件内的lambda_handler入口函数,配置拼写错误会直接触发报错。

4. 依赖兼容性校验

  • 如果你的依赖包含C扩展(例如pandas、numpy、opencv等),不要直接使用本地Windows/macOS环境下venv安装的包,这类包是适配本地系统编译的,无法在Lambda的Amazon Linux 2运行环境中加载,会触发导包失败。可使用Docker模拟Lambda运行环境安装依赖后再打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 22:57:02