我正在尝试添加一个AWS Lambda层,以便能够在AWS Lambda中使用matplotlib。为此,我从Python Package Index下载了以下文件:
matplotlib-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
我确保这是正确的Python版本和我机器的正确操作系统。
接下来,我将这些文件解压缩到我的机器上一个名为“python”的文件夹中,然后创建了一个同名的zip文件夹(python)。我将这个zip文件夹上传到我的AWS Lambda Layer for matplotlib。
在成功创建了一个lambda层之后,我将这个层添加到我的lambda函数中。
尽管如此,当我试图执行一个导入了matplotlib的函数时,仍然会出现以下错误:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'matplotlib'",
"errorType": "Runtime.ImportModuleError",
我尝试重新下载python包并多次重新创建lambda层,但每次都遇到相同的问题。任何帮助将不胜感激。
1条答案
按热度按时间ppcbkaq51#
下面是我为matplotlib创建的一个层。
在我的本地机器上,我执行了以下命令:
然后我压缩了python文件夹,并将python.zip文件上传到s3 bucket,并继续创建层。
我知道仅仅提取一个wheel的文件并不会包含所有必要的文件/依赖项,使用上面的命令pip会下载除了主包(matplotlib)之外的所有依赖项。