gpt4 book ai didi

python - AWS Lambda : Unable to import module 'package/file' : No module named 'util'

转载 作者:行者123 更新时间:2023-12-02 03:26:16 24 4
gpt4 key购买 nike

我正在努力使用 Python 3 使模块导入在 AWS lambda 中工作。

我的文件结构如下所示:

package:
stage1.py
__init__.py
util:
helper1.py
__init__.py

helper1.py 是一个简单的 util 类:

def foo():
print("yes")

stage1.py 中,我有以下几行导致 Lambda 在启动时抛出错误:

from util.helper1 import foo
foo()
Unable to import module 'package/stage1': No module named 'util'

两个 __init__.py 文件都是空的。

遗憾的是,我发现如果我在本地调用脚本,这就会起作用。令人沮丧是轻描淡写的!

最佳答案

感谢上面发送的一些链接以及我自己(和必要的)对 python 中如何处理导入的研究,我解决了有关不可用模块的问题。

我如何在 Lambda 中调试我的应用程序:我将这行代码附​​加到文件顶部

print("Name is ({})".format(__name__))

这给了我一个输出,可以帮助我了解如何在 util 模块中导入文件做出明智的决定。我看到 stage1.py 文件的输出是 packager/stage1。这使得导入代码修改变得容易。我将 stage1.py 文件中的导入更改为(使用绝对路径导入 - pep 推荐):

from packager.util.helper1 import foo

无论出于何种主观原因,this link最能帮助我理解这个过程。

关于python - AWS Lambda : Unable to import module 'package/file' : No module named 'util' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53311115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com