如何缩小适用于AWS Lambda层的大型python包?

时间:2020-04-17 16:28:43

标签: python aws-lambda

我正在尝试部署具有较大二进制依赖性的python软件包,例如numpyscipyastropypandas等... zip文件是超过400MB,因此我必须将其大小缩小到250MB以下才能将其从S3部署到lambda层。

我知道我可以使用类似的东西删除测试,文档和pycache目录

find -name "tests" -type d | xargs rm -rf
find -name "docs" -type d | xargs rm -rf
find -name "__pycache__" -type d | xargs rm -rf

但这还不够...

理论上是否可以删除* .pyc和* .so文件?我知道,例如,serverless-frameworkserverless-python-requirements提供了slim选项来打包依赖项,以删除所有* .pyc和* .so文件。但是我认为Lambda环境需要这些文件...如果可能的话,我不想使用任何框架,并且我最终可以运行docker从与lambda兼容的映像构建二进制文件(我现在正在从WSL工作)。我尝试了很多事情,但是它们没有用,我不确定为什么...

我非常感谢您提供任何帮助,以帮助您了解可能的和不将如此庞大的程序包部署到Lambda的原因...

0 个答案:

没有答案