含多文件的Python应用如何打包为AWS Lambda制品?
如何将多文件结构的应用全部打包到AWS Lambda制品中?
当然可以,只需要调整打包命令,把db、routers这些子目录和main.py一起加入到Lambda制品zip包中即可。以下是修改后的完整步骤:
第一步:安装依赖到指定目录(保持原命令不变)
pip3 install -t dependencies -r requirements.txt第二步:将依赖打包到zip制品(保持原命令不变)
(cd dependencies; zip ../aws_lambda_artifact.zip -r .)第三步:将主文件和所有子目录更新到zip包
你可以用一条命令完成主文件和子目录的打包:zip aws_lambda_artifact.zip -u main.py -r db routers或者分成两条命令执行:
zip aws_lambda_artifact.zip -u main.py zip aws_lambda_artifact.zip -r db routers
这样操作后,aws_lambda_artifact.zip中就会包含所有依赖、main.py以及db、routers目录下的全部文件,Lambda运行时可以正常导入这些子目录中的模块(因为它们和main.py处于zip包的同一层级,符合Python模块导入规则)。
内容的提问来源于stack exchange,提问作者Michael Xia
相关产品推荐
相关产品推荐

