这样的脚本:
from PIL import Image, ImageOps
img = Image.open('1.JPG')
thumb = ImageOps.fit(img, (200,200) , Image.ANTIALIAS, (0.5, 0.5))
导致此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
如何获得我的PIL的jpeg支持?这个问题似乎众所周知,但现有的线程并没有为我解决。我使用brew和pip作为我的python包,并且已经尝试了以下内容:
brew install jpeg
导致Error: jpeg-8d already installed
brew install libjpeg
导致Error: jpeg-8d already installed
sudo pip install Pillow
- 安装有效,但不会改变任何内容如何获得我的PIL安装的jpeg支持?有什么想法吗?
答案 0 :(得分:8)
我不明白为什么,但重新安装PIL解决了这个问题:
sudo pip uninstall pil
sudo pip install pil
答案 1 :(得分: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
答案 2 :(得分:0)
对于登陆此处的非OSX人员,我在64位Ubuntu系统上的64位库中找到linking来修复编译问题。