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

2024-09-28 19:07:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试部署一个具有大型二进制依赖项的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-python-requirementsserverless-framework提供了slim选项来打包依赖项,以删除所有*.pyc和*.so文件。但我认为Lambda环境需要这些文件。。。如果可能的话,我不想使用任何框架,我最终可以运行docker从与lambda兼容的映像构建二进制文件(我现在在WSL工作)。我尝试了很多东西,但都不起作用,我不知道为什么

我真的很感谢任何帮助,以了解什么是可能的,什么是不部署这样一个巨大的包到Lambda


Tags: 文件lambdarmnameso部署type二进制