Преобразование изображений HEIC в JPEG в python работает на локальном windows, но не работает в ubuntu aws gunicorn и nginx server

Я сохраняю изображения heic в aws s3 bucket и пытаюсь преобразовать их в jpeg перед отображением на html-странице с помощью библиотеки Pillow и pillow_heif

вот код для преобразования

import boto3
from PIL import Image
from io import BytesIO
import pillow_heif
response = s3.get_object(Bucket=settings.AWS_STORAGE_BUCKET_NAME, Key=self.media.name)
image_bytes = response['Body'].read()
pillow_heif.register_heif_opener()
img = Image.open(BytesIO(image_bytes))
new_name = self.media.name.replace('.heic', '.jpg')
# Convert image to JPEG
# Create a BytesIO object to save the image
img_bytes = BytesIO()
img.save(img_bytes, format='JPEG')
img_bytes.seek(0)
# Upload the image to S3
s3.upload_fileobj(img_bytes, settings.AWS_STORAGE_BUCKET_NAME, new_name)
self.converted_image_name = new_name
self.save()
# Get the object URL
url = s3.generate_presigned_url(
       ClientMethod='get_object',
       Params={
             'Bucket': settings.AWS_STORAGE_BUCKET_NAME,
             'Key': new_name
       },
       ExpiresIn=60000 # URL expiration time in seconds
)

когда я запускаю этот код на своей локальной машине (Windows) в django с помощью команды python manage.py runserver, он работает нормально, но когда я развертываю код на экземпляре aws, который работает с помощью gunicorn и nginx, url, на котором запускается этот код, выдает ошибку 502 Bad Gateway nginx/1.18.0 (Ubuntu).

Когда я попытался проверить, в чем проблема, в логах gunicorn и nginx также не появилось никаких ошибок.

Может ли кто-нибудь помочь мне с этой проблемой?

Вернуться на верх