AWS Lambda 使用 PIL/Pillow 和 Python 2.7
AWS Lambda using PIL/Pillow with Python 2.7
我在 AWS Lambda 上使用 Python 2.7(出于各种原因),我需要使用 PIL/Pillow 库进行图像处理。我正在使用 ZIP 文件将代码放入我的 Lambda 函数中。
此 zip 中的项目之一是一个文件夹,其中包含 PIL 库。我已经尝试了几种不同的方法来获取库,包括使用 pip install pillow -t .
,以及使用来自 here and here 的预编译 PIL 库。
使用第一个预编译源,出现错误:
no module named PIL
如果我将子目录从 PIL 重命名为 pillow,我会得到同样的错误,但有 pillow。
使用第二个预编译源和pip方式,报错:
Could not import the Python Imaging Library (PIL) required to load image files
这是我的导入语句和发生错误的行:
from pillow import *
...
I = imread(filename, flatten=True)
这是我的文件结构的截图(使用第一个预编译源):
Archive.zip 是我上传到 Lambda 的内容。每次更改代码或库时,我都会通过选择每个要压缩的文件、右键单击并选择 "Compress" 来重新创建它。我正在使用 macOS High Sierra。
顺便说一句,我看过 问题和答案,但我没有收到相同的错误消息,而且我无法让建议的命令正常工作。
我想知道 PIL 与 Pillow 或 Python 3.6 与 Python 2.7 是否存在问题。
非常感谢任何帮助!
我使用 Docker 解决方案解决了这个问题,如 this post 中所述。
我在 AWS Lambda 上使用 Python 2.7(出于各种原因),我需要使用 PIL/Pillow 库进行图像处理。我正在使用 ZIP 文件将代码放入我的 Lambda 函数中。
此 zip 中的项目之一是一个文件夹,其中包含 PIL 库。我已经尝试了几种不同的方法来获取库,包括使用 pip install pillow -t .
,以及使用来自 here and here 的预编译 PIL 库。
使用第一个预编译源,出现错误:
no module named PIL
如果我将子目录从 PIL 重命名为 pillow,我会得到同样的错误,但有 pillow。
使用第二个预编译源和pip方式,报错:
Could not import the Python Imaging Library (PIL) required to load image files
这是我的导入语句和发生错误的行:
from pillow import *
...
I = imread(filename, flatten=True)
这是我的文件结构的截图(使用第一个预编译源):
Archive.zip 是我上传到 Lambda 的内容。每次更改代码或库时,我都会通过选择每个要压缩的文件、右键单击并选择 "Compress" 来重新创建它。我正在使用 macOS High Sierra。
顺便说一句,我看过
我想知道 PIL 与 Pillow 或 Python 3.6 与 Python 2.7 是否存在问题。
非常感谢任何帮助!
我使用 Docker 解决方案解决了这个问题,如 this post 中所述。