Подушка не загружает изображение - не может идентифицировать файл изображения

Что не так со следующим фрагментом?

Это не связано с форматом изображения, я пробовал и с jpg, и с png.

import Image
from cStringIO import StringIO

with open('/path/to/file/image.png') as f:
    data = f.read()
    img = Image.open(StringIO(data))
    img.load()

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 2030, in open
     raise IOError("cannot identify image file")
IOError: cannot identify image file

РЕДАКТИРОВАТЬ:

Это происходит со случайно загруженным изображением из Интернета и следующим самым простым фрагментом:

import Image
im = Image.open('WicZW.jpg')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 2030, in open
    raise IOError("cannot identify image file")
IOError: cannot identify image file

person Enuy    schedule 18.09.2013    source источник
comment
Обратите внимание, что я использую cStringIO для воспроизведения ошибки, с которой я сталкиваюсь в сторонней библиотеке, django-photologue.   -  person Enuy    schedule 18.09.2013


Ответы (2)


Проблема была во взаимном наличии библиотеки PIL и Pillow на машине:

# pip freeze | grep -E '(Pillow|PIL)'
PIL==1.1.7
Pillow==2.1.0
person Enuy    schedule 18.09.2013

Я решил это, используя

from PIL import Image

вместо того, чтобы просто делать

import Image
person arainchi    schedule 20.12.2013