簡體   English   中英

Python 2.7 PIL打開JPEG格式圖片報錯,Mac Lion

[英]Python 2.7 PIL open the picture of JPEG format Error, Mac Lion

我曾嘗試http://mail.python.org/pipermail/image-sig/2010-June/006313.html ,但我仍然收到錯誤消息

dreampuf@HX:~/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

dreampuf@HX:~/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。

 dreampuf@HX:~/hub/lweibo$ port installed jpeg
 The following ports are currently installed:
  jpeg @8d_0 (active)

我知道這個錯誤的原因。 但我無法在我的系統中安裝 jpeg6b ,或者無法重新安裝 PIL 以使用 jpeg6b

我不明白你的第一個例子寫出 PNG,然后談論 jpeg 問題之間的相關性。

如果您的 libjpeg 依賴於 macports,那么為什么不使用它來安裝 PIL 呢?
構建 PIL 時,您可以告訴它在哪里尋找 JPEG 庫: export JPEG_ROOT=/usr/local/include

我建議刪除 PIL,刪除 libjpeg...然后重新安裝最新的 jpeg,然后重建 PIL。

嘗試使用 pip 安裝 PIL: pip install -U PIL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM