如何从 aws lambda 中的 git 子模块导入代码?

Posted

技术标签:

【中文标题】如何从 aws lambda 中的 git 子模块导入代码?【英文标题】:How to import code from git submodule in aws lambda? 【发布时间】:2022-01-01 02:48:58 【问题描述】:

我有一个应用程序app.py,它使用来自modelling.py 的一个名为modelling 的模块,该模块存在于git 子模块中。 目录结构:

app.py
|
|-modelling (git submodule)
    |-modelling.py

我需要从 git 子模块中的 modelling.py 导入一个函数。此 app.py 已部署到 AWS lambda。

AWS LAMBDA 运行我的 app.py。基本上 app.py 脚本是用 lambda 编写的

当我运行这个 lambda 函数时。

我得到了错误

'errorMessage': "Unable to import module 'modelling': No module named 'modelling'

from modelling.modelling. import mod_func

在 lambda 函数中。

基本上它无法使git子模块文件夹从脚本中导入。

如何将 git 子模块制作为 AWS Lambda 中的文件夹,这将允许我从 lambda 本身导入?

【问题讨论】:

听起来您没有在部署到 Lambda 的 .zip 文件中包含该文件夹。 【参考方案1】:

你确定你正确初始化了子模块吗?听起来您没有运行以下命令:

git submodule update --init

【讨论】:

以上是关于如何从 aws lambda 中的 git 子模块导入代码?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk + Git 子模块

如何配置 AWS lambda 函数以对不同 aws 子账户中的 dynamodb 表执行 crud 操作?

从 aws-lambda 导入 pysftp 时如何修复导入错误“没有名为 '_cffi_backend' 的模块”

AWS Rekognition和s3调用Python Lambda中的子文件夹

python中的AWS Lambda导入模块错误

如何从账户 A 中的 Lambda(VPC 中的 Lambda)调用账户 B 中的 AWS Lambda 函数(VPC 中的这个 Lambda)