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

导入自定义Python至AWS Lambda层时遇NameError问题求助

解决AWS Lambda Layers中自定义函数调用的NameError问题

你遇到的问题是因为add_nums函数属于test_function模块的成员,直接调用函数名会找不到它——它不在当前代码的命名空间里。有两种简单的解决方式:

方式一:通过模块名调用函数

在Lambda代码中导入模块后,调用函数时带上模块前缀:

import test_function

def lambda_handler(event, context):
    print(test_function.add_nums(4,5))
    # 其他业务逻辑...

方式二:直接导入目标函数

如果不想每次都写模块名,可以直接从模块中导入add_nums函数:

from test_function import add_nums

def lambda_handler(event, context):
    print(add_nums(4,5))
    # 其他业务逻辑...

另外确认一下你的打包结构是正确的——python/test_function.py的层级完全符合Lambda Layers的要求,Lambda会自动把Layers中的python目录添加到Python的模块搜索路径,所以import test_function不会报错,只需要调整函数调用的方式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:52:03