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

如何解决自定义Python模块导入AWS Lambda Layer的找不到模块问题?

排查AWS Lambda Layer导入utils模块报错No module named utils的原因

以下是核心排查方向及解决办法:

  • ZIP包结构不符合Lambda Layer要求
    AWS Lambda对Python层的目录结构有强制要求:代码必须放在python/目录下。你的ZIP当前结构是直接把utils放在根目录,正确的结构应该是:

    python/
      utils/
        a.py
        b.py
        c.py
    

    重新打包时,要将utils文件夹放入python目录,再压缩python目录为ZIP包(注意ZIP根目录必须是python,不能包含额外的外层文件夹)。

  • Layer与Lambda函数的版本不匹配
    确认Layer打包时使用的Python版本,和目标Lambda函数的运行时版本完全一致(比如Layer用Python 3.10打包,Lambda函数也必须设置为Python 3.10)。版本不兼容会导致Lambda无法识别Layer中的模块。同时要检查Layer是否已正确关联到目标Lambda函数,可在Lambda控制台的「Layers」标签页确认。

  • 执行环境路径异常
    Lambda会自动将Layer的python目录加入Python的sys.path,如果结构正确仍报错,可在Lambda代码开头添加调试代码:

    import sys
    print(sys.path)
    

    执行后查看CloudWatch日志,确认Layer的python目录是否在路径列表中。如果不在,说明Layer关联或打包过程存在问题,需重新检查。

  • 打包时混入冗余目录
    避免将本地项目的外层目录(比如你存放python文件夹的项目文件夹)也打包进ZIP,比如ZIP内出现my-local-project/python/utils/...的结构会导致模块无法被识别,确保ZIP根目录直接是python文件夹。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:07:18