太平船务无法识别 Mac OS 下的 jpeg 库



类似的脚本:

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位库可以解决编译问题。

最新更新