我正在尝试部署一个具有大型二进制依赖项的python包,例如numpy、scipy、astropy、pandas等……压缩文件超过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-requirements的serverless-framework提供了slim选项来打包删除所有*.pyc和*.so文件的依赖项。但我认为Lambda环境需要这些文件...如果可能的话,我不想使用任何框架,我最终可以运行docker来从lambda兼容的映像构建二进制文件(我现在使用的是WSL )。我试过很多方法,但都不起作用,我不知道为什么……
我真的很感谢任何人的帮助,以了解什么是可能的,什么是不是部署一个如此巨大的包到Lambda…
发布于 2021-09-05 16:23:37
当我遇到这种情况时,作为一种变通方法,我按照@jordanm的建议进行了操作,并切换到了Fargate任务。
到2020年12月为止,一个更简单的解决方案是对您的Lambda使用container image。
https://stackoverflow.com/questions/61276309
复制相似问题