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

如何在子目录中搭建Python版AWS Lambda并解决导入与依赖安装问题

子目录部署Python AWS Lambda SAM 依赖安装失败解决方案

1. 修正template.yml配置

在你的AWS::Serverless::Function资源定义中,添加如下配置,显式指定依赖文件路径和构建规则:

YourFunctionName:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: ./ # 因template.yml位于src目录下,当前路径对应src根目录
    Handler: lambda_handler.lambda_handler # 对应主处理文件和入口函数名
    Runtime: python3.9 # 替换为实际使用的Python版本
    # 其他原有配置(内存、超时、角色等)保持不变
  Metadata:
    AWS::Lambda::BuildMethod: python3.9 # 和上述Runtime版本保持一致
    AWS::Lambda::BuildProperties:
      RequirementsFile: ./requirements.txt # 显式指定requirements.txt的相对路径

2. 调整执行命令参数

所有SAM命令都需要显式指定模板文件路径,避免SAM从根目录查找配置:

  • 本地构建命令:sam build --template-file src/template.yml --no-cached
  • 本地测试命令:sam local invoke --template-file src/template.yml
  • SAM Accelerate同步命令:sam sync --template-file src/template.yml --stack-name 你的栈名称 --accelerate

3. 兜底方案

如果上述配置仍不生效,可以手动将依赖安装到src目录后再执行构建,该方法不需要修改SAM配置:

  • 进入src目录执行命令:pip install -r requirements.txt -t ./
  • 将安装生成的依赖文件夹添加到.gitignore中,避免提交到代码仓库

注意:该方法仅作为临时兜底,优先使用前两种配置方案,更符合SAM的规范开发流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:45:03