AWS Lambda - 删除 Python 包以加速部署和执行
AWS Lambda - removing Python packages to speed up deployment and execution
正在更新依赖于最初由另一位程序员编写的 Flask / zappa 的 AWS Lambda 函数。如果 Lambda 中的 运行 脚本未导入/使用 Python 模块,我可以从 requirements.txt
中毫无问题地删除它们吗?
AWS提供的例子file好像要求很少。我只是想确保 Cloudwatch 继续工作,我不会删除 AWS 隐式依赖的东西。
我正在考虑删除的一些包(因为 Python 脚本没有导入)包括:
durationpy
pyrsistent
placebo
pytz
pycparser
troposphere
boto3
即删除 pyarrow
和 scikit-learn
将重新部署时间从 3 分钟减少到 2 分钟。 AWS Lambda 还在较短的执行时间内使用较少的 RAM。
很难说,因为依赖关系因应用程序而异。
据我所知,scikit-learn
是一个巨大的库,AWS 没有使用它。但是,如果您的应用程序或应用程序中的其他包将它用作依赖项,删除它可能会破坏您的应用程序。
同样pyarrow
也被很多包使用。您的应用程序的某些包可能在内部使用它。
我不确定,但 boto3
也可以删除,因为它在 AWS 默认情况下始终可用。但您可能希望保留它,因为您将需要它用于 运行 本地应用程序。
对于所有其他包,我建议您使用 pipdeptree 创建包的依赖关系树
这将作为确定哪些可以删除的起点。
正在更新依赖于最初由另一位程序员编写的 Flask / zappa 的 AWS Lambda 函数。如果 Lambda 中的 运行 脚本未导入/使用 Python 模块,我可以从 requirements.txt
中毫无问题地删除它们吗?
AWS提供的例子file好像要求很少。我只是想确保 Cloudwatch 继续工作,我不会删除 AWS 隐式依赖的东西。
我正在考虑删除的一些包(因为 Python 脚本没有导入)包括:
durationpy
pyrsistent
placebo
pytz
pycparser
troposphere
boto3
即删除 pyarrow
和 scikit-learn
将重新部署时间从 3 分钟减少到 2 分钟。 AWS Lambda 还在较短的执行时间内使用较少的 RAM。
很难说,因为依赖关系因应用程序而异。
据我所知,scikit-learn
是一个巨大的库,AWS 没有使用它。但是,如果您的应用程序或应用程序中的其他包将它用作依赖项,删除它可能会破坏您的应用程序。
同样pyarrow
也被很多包使用。您的应用程序的某些包可能在内部使用它。
我不确定,但 boto3
也可以删除,因为它在 AWS 默认情况下始终可用。但您可能希望保留它,因为您将需要它用于 运行 本地应用程序。
对于所有其他包,我建议您使用 pipdeptree 创建包的依赖关系树 这将作为确定哪些可以删除的起点。