2012-08-05 74 views
5

腳本這樣的:PIL無法識別JPEG庫在Mac OS

from PIL import Image, ImageOps 
img = Image.open('1.JPG') 
thumb = ImageOps.fit(img, (200,200) , Image.ANTIALIAS, (0.5, 0.5)) 

原因這個IO錯誤:

Traceback (most recent call last): 
    (...) 
    File "/Library/Python/2.7/site-packages/PIL/Image.py", line 385, in _getdecoder 
    raise IOError("decoder %s not available" % decoder_name) 
IOError: decoder jpeg not available 

如何爲我的PIL支持JPEG?這個問題似乎是衆所周知的,但現有的線程無法爲我解決這個問題。我用BREW和點子爲我的Python包和已經試過如下:

  • brew install jpeg 導致Error: jpeg-8d already installed
  • brew install libjpeg導致Error: jpeg-8d already installed
  • sudo pip install Pillow - 安裝工程,但不會改變任何東西

我如何得到我的PIL安裝的jpeg支持?有任何想法嗎?

回答

8

我不明白爲什麼,但重新安裝PIL固定的問題:

sudo pip uninstall pil 
sudo pip install pil 
+4

好吧,似乎你在安裝PIL後安裝了jpeg庫。 jpeg庫在編譯時鏈接,這就是爲什麼你必須重新安裝PIL。 – n1r3 2012-10-11 20:45:50

0

我遇到了類似的問題在Ubuntu 12.04 64位和符號鏈接庫PIL解決它在尋找到/usr/lib (它實際上是在尋找它們):

# symlink image libraries so PIL can find them 
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib 
ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib 
ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib 
# etc for any other libraries 
0

對於非OSX人在這裏登陸,我發現linking到64個庫我的64位的Ubuntu系統修復編譯問題上。