PIL.UnidentifiedImageError: невозможно идентифицировать файл изображения - PullRequest
1 голос
/ 11 февраля 2020

Я работаю над облачными функциями GCP и намереваюсь написать функцию, которая объединяет два изображения. Но я получаю следующую ошибку при вызове функции:

Traceback (последний вызов был последним): файл "/env/local/lib/python3.7/site-packages/ google / cloud / functions / worker.py ", строка 346, в run_http_function result = _function_handler.invoke_user_function (flask .request) Файл" /env/local/lib/python3.7/site-packages/google/cloud /functions/worker.py ", строка 217, в invoke_user_function return call_user_function (request_or_event) Файл" /env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py ", строка 210 , в call_user_function возвращают self._user_function (request_or_event) Файл "/user_code/main.py", строка 74, в execute newIntro = generateIntroImage (nameMappings ['stdName'], nameMappings ['stdPicture'], nameMappings ['lo go '], nameMappings [' stdYear '], nameMappings [' font ']) Файл "/user_code/main.py", строка 12, в файле generateIntroImage images.append (Image.open (lo go)) Файл "/ env /local/lib/python3.7/site-packages/PIL/Image.py ", строка 2862, в открытом виде" не может идентифицировать изображение ge файл% r "% (имя файла, если имя файла еще fp) PIL.UnidentifiedImageError: невозможно идентифицировать файл изображения '/tmp/logo.jpg'

Я запускал эту функцию на своем локальном компьютере и он работает, как ожидалось, но когда я развертываю его на GCP, он выдает эту ошибку и вылетает. Вот моя функция:

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

def generateIntroImage(stdName, stdPicture, logo, year, typeFace):
    images = [Image.open(x) for x in [stdPicture, logo]]
    widths, heights = zip(*(i.size for i in images))
    total_width = sum(widths)
    max_height = max(heights)
    new_im = Image.new('RGB', (total_width, max_height))
    x_offset = 0
    for im in images:
        new_im.paste(im, (x_offset,0))
        x_offset += im.size[0]

    font= ImageFont.truetype(typeFace, 70)
    draw= ImageDraw.Draw(new_im)
    draw.text((0, 0), stdName+"'s " +year+" Year Book", (0,0,0),font= font)
    fileName= "/tmp/test.jpg"
    new_im.save(fileName)
    return fileName

Эти изображения представляют собой файлы .jpg и .png. Есть идеи, что может быть не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...