Я работаю над облачными функциями 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. Есть идеи, что может быть не так?