"Unable to import module 'lambda_function': cannot import name '_imaging' from 'PIL' (/var/task/PIL/__init__.py)"

0

Hi, I'm facing the above error when I try to use PIL package (Image module) for image conversion functionality in lambda function. I tried different methods like Adding zip folder in Layer and using that layer in lambda function/package PIL library folder along with lambda function then zip it (from new venv). it did not work.my python version 3.10 and lambda function is 3.10. below is sample code. the code works in local but not in AWS console Lambda function. import os import PIL from PIL import Image def lambda_function(event, context): s3_object_name= 'C:/./tiffimage.TIFF' conversion_folder_path = 'C:/.' s3_obj_file_type = str(s3_object_name).split(".")[-1] print(s3_obj_file_type) if s3_obj_file_type == 'TIFF': any_image1 = Image.open(s3_object_name) new_image_1 = any_image1.convert('RGB') new_image_1.save(conversion_folder_path+'/'+'new_converted_tiff8.jpg', 'JPEG')

any suggestion helps!

1 Risposta
0

Hi Raj-1,

Did you try to package PIL using these instructions? Note the directory structure in Step 5 for the relative position of dependencies and the function. You can also create the zip file from a venv, shown here.

Hope this helps. Mike

AWS
Mike_E
con risposta 5 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande