类似的脚本:
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 install jpeg
导致Error: jpeg-8d already installed
brew install libjpeg
导致Error: jpeg-8d already installed
sudo pip install Pillow
-安装正常,但不会更改任何内容
如何获得对PIL安装的jpeg支持?有什么想法吗?
我不明白为什么,但重新安装PIL修复了问题:
sudo pip uninstall pil
sudo pip install pil
我在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
对于在这里登陆的非OSX用户,我发现链接到我的64位Ubuntu系统上的64位库可以解决编译问题。