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

AWS CDK部署Python Lambda报错:无法导入模块'my_server'

问题解决方法

错误原因

Runtime.ImportModuleError 是因为a.py 中的导入语句错误引用了 my_server 模块。AWS CDK 的 PythonFunction 会将 entry 指定的目录(这里是 ../my_server)下的所有文件直接打包到 Lambda 部署包的根目录,而非把整个 my_server 目录作为子目录放入包中。因此在 Lambda 运行环境里,my_server 并非可导入的子模块,同级文件直接处于顶层命名空间。

修复步骤

  • 修正 a.py 中的导入语句:
    假设 a.py 里有 from my_server.utils import xxx 或 import my_server 这类代码,直接改为同级文件的引用方式:

    • 导入同级目录的其他文件(比如 utils.py),改成 from utils import xxx 或 import utils;
    • 用相对导入同目录文件(比如 config.py),可以写 from . import config(本地开发时可在 my_server 目录下添加空的 __init__.py 文件,确保 Python 识别相对导入)。
  • 验证打包结构(可选):
    查看 CDK 生成的 Lambda 资产包(项目根目录的 cdk.out 文件夹下对应 Lambda 的资产目录),确认包内直接包含 a.py、app.py 及其他 my_server 下的文件,而非嵌套在 my_server 子目录中。

  • 确认 entry 配置正确:
    当前 entry="../my_server" 配置没问题,它指向了包含 a.py 和 app.py 的代码根目录,无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:55:01