PIL在Mac OS下无法识别jpeg库

5

像这样的脚本:

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 导致错误:jpeg-8d已经安装
  • brew install libjpeg 导致错误:jpeg-8d已经安装
  • sudo pip install Pillow - 安装成功但未改变任何内容
我该如何为我的PIL安装获取jpeg支持?有什么想法吗?
3个回答

8
我不知道为什么,但重新安装PIL解决了这个问题。
sudo pip uninstall pil
sudo pip install pil

4
看起来你是在安装PIL后再安装了jpeg库。因为编译时链接了jpeg库,所以你必须重新安装PIL。 - n1r3

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的人来说,我在我的64位Ubuntu系统上找到了链接到64位库以解决编译问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接