AWS Lambda 准备无平台相关性的 Python 依赖项软件包

无平台相关性的软件包,即本地开发环境和 Lambda 运行时环境中使用的程序包文件一样。
直接将本地的依赖项软件包提取出来,打包,然后部署到 AWS Lambda 环境中即可。

直接进入 Python 项目的虚拟环境路径中,将软件包复制出来。
例如 your-project/.venv/lib/python3.9/site-packages/some-package

或创建一个临时的虚拟 Python 环境,安装和提取所需的多个软件包:
创建虚拟环境 python3 -m venv temp-env
启用虚拟环境 source temp-env/bin/activate
创建名称 python 的文件夹 mkdir python。如果要以 Lambda Layer 方式部署,文件夹名称必须是“python”。
安装依赖项到 python 路径:pip install requests -t python/
退出虚拟环境 deactivate
压缩打包:
zip -r9 python.zip python -x "*/_MACOSX/*" -x "*/.DS_Store" -x "*/__pycache__/*"
其中参数 -x 是排除不需要的文件

参见 AWS Lambda 为 Python 函数添加部署第三方库依赖项软件包


相关文章: