exa*_*xan 3 python numpy amazon-web-services pandas aws-lambda
问题: 我想在我的 AWS lambda 函数中使用 Numpy 和 Pandas。我正在使用 PyCharm 在 Windows 10 上工作。我的函数在本地机器上编译并运行良好,但是,一旦将其打包并部署在 AWS 上,它就会在导入 numpy 和 pandas 包时出现错误。我尝试重新安装两个软件包,然后重新部署,但是错误仍然相同。
StackOverFlow 解决方案: 其他人也有类似的问题,其他用户表示这主要是兼容性问题,因为 Python 库是在 Windows 上编译的,而 AWS Lambda 在 linux 机器上运行。
问题: 在 Windows 10 上为 AWS 创建部署包的最佳方法是什么?有没有办法在通过 PIP 安装软件包时指定目标平台。显然 pip 中有一个带有标签 --platform 的选项,但我不知道如何使用它。有帮助吗?
就像通常有不止一种方法可以找到解决方案。
恕我直言,首选方式是使用 AWS lambda 层,因为它将功能代码与依赖项分开。这里解释了基础知识。
python.Numpy 和 Pandas 都可以作为公共层使用: https: //github.com/keithrozario/Klayers
正如您提到的,在 Windows 上构建它很困难,通常您需要 Linux 系统来构建 python 需求,或者在 docker 容器中构建它。
我不是 Windows 10 用户,但我猜您可以使用 WSL(适用于 Linux 的 Windows 子系统)在本地构建需求并在将它们用作层之前将其压缩。不过,为了省事,我宁愿只使用前面提到的公共层。
全面披露:我拥有发布图层的存储库。这是一个免费项目——但有一个缺点。如果升级了新版本的包(或其依赖项之一),我会删除旧层。一般来说,如果您使用最新的图层版本,则可以保证至少 30 天后图层将被删除。使用已删除图层的函数仍然可以工作,但您无法在旧图层上部署新版本的函数。
希望这能说明问题。
| 归档时间: |
|
| 查看次数: |
8762 次 |
| 最近记录: |