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

Lambda导入模块报错:无法导入embedding_search_handler,相对导入超出顶级包

Lambda Runtime.ImportModuleError 问题排查与解决

错误核心原因

你代码中使用了相对导入语法(如from .xxx import yyy或from ..xxx import yyy),但Lambda执行环境会将你的代码包视为顶级模块,这类相对导入会超出顶级包范围,触发导入错误。

解决步骤

  • 替换相对导入为绝对导入
    把所有相对导入语句改成绝对导入形式。例如:

    • 原相对导入:from .es_client import connect_es
    • 修改后:from es_client import connect_es(前提是es_client.py与embedding_search_handler.py在同一目录)
      若依赖模块不在当前目录,需确保它们被包含在打包的根目录中,再用绝对路径导入。
  • 检查打包目录结构
    确保打包的zip文件根目录直接包含embedding_search_handler.py及所有依赖模块,避免嵌套子目录结构。正确的打包结构示例:

    lambda-package/
    ├── embedding_search_handler.py
    ├── es_client.py
    └── embedding_utils.py
    

    打包时直接压缩该目录下的所有文件,不要将lambda-package目录本身加入压缩包。

  • 验证Handler配置
    确认Lambda控制台中Handler设置为embedding_search_handler.lambda_handler,其中embedding_search_handler是文件名(不带.py后缀),lambda_handler是文件中定义的处理函数名,两者不要拼写错误。

  • 本地预测试
    在本地直接运行python embedding_search_handler.py,或使用Lambda本地测试工具(如aws-sam-cli),提前排查导入问题,减少部署调试次数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:55:58