AWS Lambda Python -如何从本地文件导入模块到app.py



这是一个使用Docker容器的基于sam模板的简单部署。文件系统结构:

src/app.py
mymodule.py

在app.py:

from .mymodule import myfunction

Result (on invoke):

Unable to import module 'app': attempted relative import with no known parent package

删除点会产生:

Unable to import module 'app': No module named 'mymodule'

将本地目录添加到path也没有帮助:

import os, sys
currentdir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(currentdir)

现在我猜这似乎是由于第10亿次相对进口的伟大答案

所描述的限制。。app.py作为脚本而不是模块运行,脚本不能相对导入

上述答案中的解决方案都需要改变Lambda函数构建和/或调用的某种方式-如何做到这一点是问题?

__init__.py文件添加到src文件夹(与app.py相同级别)

或者如果你正在使用容器,确保你的Dockerfile复制所有内容,而不仅仅是app.py

相关内容

  • 没有找到相关文章

最新更新