2012-04-11 3 views
0

я имел попробовать http://mail.python.org/pipermail/image-sig/2010-June/006313.html, но я получаю сообщение об ошибке все ещеPython 2.7 PIL открыть изображение формата JPEG Error, Mac Lion

[email protected]:~/hub/lweibo$ python2.7 lweibo.py 
Traceback (most recent call last): 
    File "lweibo.py", line 235, in <module> 
    lweibo_render(107906) 
    File "lweibo.py", line 228, in lweibo_render 
    p = LPic(a_body, a_title, a_ukey_nickname, a_ukey_img, a_create) 
    File "lweibo.py", line 114, in __init__ 
    a_ukey_img.save("s.png", "PNG", qualty=100) 
    File "/Users/dreampuf/opt/macports/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Pillow-1.7.7-py2.7-macosx-10.7-x86_64.egg/PIL/Image.py", line 1406, in save 
    self.load() 
    File "/Users/dreampuf/opt/macports/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Pillow-1.7.7-py2.7-macosx-10.7-x86_64.egg/PIL/ImageFile.py", line 215, in load 
    raise_ioerror(e) 
    File "/Users/dreampuf/opt/macports/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Pillow-1.7.7-py2.7-macosx-10.7-x86_64.egg/PIL/ImageFile.py", line 52, in raise_ioerror 
    raise IOError(message + " when reading image file") 
IOError: broken data stream when reading image file 

я пытаюсь использовать MacPorts установить jpeg6b, но это предупредит меня, jpeg6b слишком старый выпуск и переименовать Jpeg

[email protected]:~/lweibo$ sudo port install jpeg6b 
Password: 
---> Configuring jpeg6b 
Error: jpeg6b has been renamed to jpeg. Please install jpeg instead. 
Error: Target org.macports.configure returned: obsolete port 
Log for jpeg6b is at: /Users/dreampuf/opt/macports/var/macports/logs/_Users_dreampuf_opt_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_jpeg6b/jpeg6b/main.log 
Error: Status 1 encountered during processing. 
To report a bug, see <http://guide.macports.org/#project.tickets> 

но издание JPEG является 8d.

[email protected]:~/hub/lweibo$ port installed jpeg 
The following ports are currently installed: 
    jpeg @8d_0 (active) 

Я знаю, в чем причина этой ошибки. но я не могу установить jpeg6b в свою систему, или не могу переустановить PIL, чтобы использовать jpeg6b.

ответ

0

Я не понимаю соотношение между вашим первым примером, выписывающим PNG, а затем рассказываю о проблемах с jpeg.

Если вы полагаетесь на macports для своего libjpeg, то почему бы не использовать его для установки PIL?
При создании PIL вы можете сказать ему, где искать LIBS JPEG: export JPEG_ROOT=/usr/local/include

Я бы рекомендовал удаление PIL, удаление libjpeg ... Затем установите последнюю JPEG, а затем восстановить PIL.

Попробуйте использовать пип установить PIL: pip install -U PIL

+0

Мой смысл я использовать изображение JPG вставить его в изображение PNG. – Dreampuf

+0

Я использую 'export JPEG_ROOT =/usr/local/lib' (мой фактический путь jpeg6b), и это все еще ошибка. – Dreampuf

+0

Как насчет того, чтобы на самом деле пытаться с ним указывать на 'include', а не' lib'? – jdi

Смежные вопросы