我已经安装了必要的python库,并将其压缩并上传到AWS lambda中的层。在这些库中,我还有PIL和Pillow-8.2.0。但是,当我尝试使用以下代码在AWS lambda中获取图像时。
import openpyxl
from openpyxl.writer.excel import save_virtual_workbook
from openpyxl.drawing.image import Image
import PIL
import io
import urllib3
wb = openpyxl.Workbook()
ws = wb.active
r = 1
http = urllib3.PoolManager()
r = http.request('GET', 'http://myridia.com/assets/images/logo.png')
image_file = io.BytesIO(r.data)
img = Image(image_file)
ws.add_image(img, 'A2')
wb.save("hello.xlsx")
但是当我在本地机器上运行时,上面的代码运行得很好。我也尝试过使用arn:aws:lambda:ap-south-1:770693421928:layer:Klayers-python38-Pillow:10,但它显示了相同的错误。我的运行时是python 3.6或3.8。我不能理解,我怎么才能让它工作。有谁能帮帮我吗?
发布于 2021-05-16 15:08:34
首先,我从本地文件中卸载了PIL和Pillow包,并进行了压缩,然后上传到AWS lambda层。不出所料,它显示了上述枕头安装错误。然后,我使用https://github.com/keithrozario/Klayers/blob/master/deployments/python3.8/arns/ap-south-1.csv中的arn名称PIllow添加了一个层。然后它就像预期的那样工作了。
https://stackoverflow.com/questions/67553637
复制相似问题