2012-08-05 6 views
5

skryptów tak:PIL nie rozpoznaje jpeg biblioteki pod Mac OS

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

przyczynę tego IOError:

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 

Jak mogę jpeg wsparcie dla mojego PIL? Wydaje się, że ta kwestia jest dobrze znana, ale istniejące wątki jej nie rozwiązują. Używam napar i pip dla moich pakietów Python i już próbowałem następujące:

  • brew install jpeg powoduje Error: jpeg-8d already installed
  • brew install libjpeg powoduje Error: jpeg-8d already installed
  • sudo pip install Pillow - prace instalacyjne, ale niczego nie zmienia

Jak mogę uzyskać wsparcie dla jpeg dla mojej instalacji PIL? Jakieś pomysły?

Odpowiedz

8

Nie rozumiem dlaczego, ale ponowne instalowanie PIL naprawił problem:

sudo pip uninstall pil 
sudo pip install pil 
+4

Wydaje się, że zainstalowałeś biblioteki jpeg po zainstalowaniu PIL. Biblioteka jpeg jest połączona w czasie kompilacji, dlatego konieczne było ponowne zainstalowanie PIL. – n1r3

0

wpadłem na podobny problem na Ubuntu 12.04 64-bit i rozwiązać go przez symlinking biblioteki PIL szukał w /usr/lib (tam, gdzie to było rzeczywiście szuka dla nich):

# 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

na OSX osób niebędących lądujące tu znalazłem linking do bibliotek 64-bitowych na moim 64-bitowym systemie Ubuntu, aby rozwiązać ten problem kompilacji.