使用 AWS Lambda 时没有名为“numpy.core._multiarray_umath”的模块

Est*_*oza 8 python numpy amazon-web-services aws-lambda

我刚刚将包含所有需要的包的 .zip 文件上传到 AWS Lambda。我在 Mac 上使用 python 3.8 的虚拟环境运行得很好。AWS Lambda 函数也有 python 3.8。但是当我在 AWS Lambda 中运行时,出现以下错误:

No module named 'numpy.core._multiarray_umath'
Run Code Online (Sandbox Code Playgroud)

我已将实际的 numpy 版本(1.20.2)更改为其他版本,例如 1.19.1 和 1.18.5,但问题无法解决。

我还使用 spacy 3.0.6 和 fastapi 0.63.0。

小智 2

当我遇到同样的问题时,以下步骤对我有用:

1-下载所需的软件包(您可能需要不同的版本):

 - pandas-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

   - python_dateutil-2.8.2-py2.py3-none-any.whl

   - pytz-2022.1-py2.py3-none-any.whl

 - numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

 - If you need others ...
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

2- 创建一个项目文件夹并将whl 文件解压缩到该文件夹​​。

3-删除 *dist-info 文件夹。

4-将源代码添加到文件夹(lambda_function.py)

5- 压缩文件夹并作为源代码 zip 文件上传到 Lambda。 在此输入图像描述

您也可以查看这些链接可能对您有帮助:

https://korniichuk.medium.com/lambda-with-pandas-fd81aa2ff25e https://github.com/numpy/numpy/issues/13465#issuecomment-545378314