Изменить изображение в Google App Engine с помощью библиотеки PIL
В настоящее время я пытаюсь развернуть приложение python(2.7) в GAE, но я, похоже, наткнулся на стену, делающую это.
В приложении мне нужно применить некоторые преобразования к данным изображения, которые я получил в виде массива байтов. Я действовал, как указано ОП этого вопроса. Кажется, все идет хорошо, пока я не хочу получить обратно данные изображения из объекта PIL.Image. Код является:
def transform_image(im_data,ratio):
im = Image.open(BytesIO(im_data))
w,h = im.size
im = im.crop((0,0,w,h-20))
new_b_io = BytesIO()
im.save(new_b_io,format='JPEG')
im.close()
return new_b_io.getvalue()
#I write this data to a new '.jpg' file on my GCS bucket.
Глядя на мои журналы приложений GAE, возникает исключение:
UnsupportedOperation: fileno
Это выявленная ошибка в версии PIL 1.1.7 (единственная версия PIL, доступная в GAE), как указано здесь.
Глядя везде, все, что мне удалось понять, - это использовать более свежую версию PIL (предпочтительно Pillow), но, как можно себе представить, наши друзья в Google не сделали этого. Я мог бы перейти к API обработки изображений Google, но я был бы признателен, если бы смог пройти через PIL.
Я был бы признателен, если бы кто-нибудь мог провести меня через эту дилемму.
Спасибо за ваше время.