AWS Lambda 与 conda python 依赖项

问题描述 投票:0回答:1

我目前正在尝试将我的 conda python 环境转移到 aws lambda 层,以将其导入到 lambda 中。当将 pip 与预编译的 pandas / numpy 层一起使用时,它工作正常,但是当使用 conda 时,我遇到了问题。 我通常喜欢使用 conda,因为它的包版本控制和兼容性检查,并且实际上不想将我的 conda 环境与仅用于 aws 的额外 pip 环境混合。

我在尝试运行 numpy 时尤其遇到问题。我收到错误

Error importing numpy: you should not try to import numpy from its source directory; please exit the numpy source tree, and relaunch
UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package

我在网上读到 conda 包是预编译的,并且 aws lambda 层包应该在 aws 机器上编译。也许这是问题所在,但其他软件包(例如 redis)可以正常工作。

也许有人之前尝试过在 aws 中使用 conda python 包并对此有一些想法。 谢谢你:)

  • 压缩conda环境并上传到aws层
aws-lambda anaconda python-packaging
1个回答
0
投票

某些软件包依赖于操作系统,因此如果您在自己的计算机上构建该层,由于操作系统差异,它可能无法在 AWS lambda 中运行。 我使用不同的包遇到了这个问题,为了解决这个问题,我在本地安装它来构建层时使用了特定的说明:

python -m pip install --platform manylinux2014_x86_64 --implementation cp --python 3.9 --only-binary=:all: --upgrade --target=the_folder_where_you_are_building_your_layer cryptography~=42.0.5

因此,我建议在构建层时使用这些选项,以便您针对 lambda 中使用的 Python 版本和正在使用的

--platform

另请参阅其他类似的问题/帖子:

© www.soinside.com 2019 - 2024. All rights reserved.