【发布时间】:2023-03-30 12:10:01
【问题描述】:
我正在用 python3.6 开发一个 lambda 函数。它使用 pytesseract 库将图像转换为文本。我创建了具有以下文件夹结构的图层。
python/lib/python3.6/site-packages/PIL
python/lib/python3.6/site-packages/Pillow-6.2.1.dist-info
python/lib/python3.6/site-packages/pytesseract
python/lib/python3.6/site-packages/pytesseract-0.3.1.dist-info
压缩的“python”文件夹(如上所示)并上传到 AWS 中的层。
我的 lambda 函数代码如下。我的代码在python3.6中
from PIL import Image
import pytesseract
import json
def lambda_handler(event, context):
print(pytesseract.image_to_string(Image.open('image002.jpg')))
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
但是当我运行代码时出现以下错误
Unable to import module 'lambda_function': cannot import name '_imaging'
这个错误是因为找不到枕头库(PIL)。但它已经包含在 site-packages 文件夹中。我相信层的文件夹结构会有一些错误。
我已经按照以下链接的指导尝试了文件夹结构,但没有成功:
https://stackoverflow.com/a/55711008/1030951
https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
【问题讨论】:
-
你有什么解决办法吗?我面临同样的问题。 @HarshIT
-
@Jyotirmay ,我在下面添加了我的答案。
-
很晚了,虽然我赞成。我想我当时做了一些解决方法来解决这个问题。哈哈哈。无论如何,谢谢。
标签: python-3.x amazon-web-services aws-lambda