这是使用 Docker 容器进行的基于 SAM 模板的简单部署。文件系统结构:
src/app.py
mymodule.py
在应用程序.py中:
from .mymodule import myfunction
结果(调用时):
Unable to import module 'app': attempted relative import with no known parent package
删除点会导致:
Unable to import module 'app': No module named 'mymodule'
将本地目录添加到路径也没有帮助:
import os, sys
currentdir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(currentdir)
现在我想这似乎是由于伟大的答案中描述的限制十亿次相对进口 https://stackoverflow.com/questions/14132789/relative-imports-for-the-billionth-time?rq=1
即 app.py 作为脚本运行,而不是模块,并且脚本无法相对导入
上述答案中的解决方法都需要更改 Lambda 函数的构建和/或调用方式 - 问题是如何做到这一点?
Add __init__.py
文件到您的 src 文件夹(与您的 app.py 同一级别)
或者,如果您使用容器,请确保您的 Dockerfile 复制所有内容,而不仅仅是 app.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)