我在使用PIL支持图片时遇到了麻烦 - 它让我觉得这样:
IOError: decoder jpeg not available
我从二进制文件中安装了PIL,没有意识到我需要libjpeg。
我通过fink安装了libjpeg和freetype2。
我尝试使用http://timhatch.com/(页面底部)
中的说明重新安装PIL使用此补丁修补setup.py,以便找到您已有的Freetype。
patch -p0 < leopard_freetype2.diff
但我仍然遇到同样的错误。
我在使用Leopard PPC。
答案 0 :(得分:1)
最近在需要PIL的产品RHEL盒上部署django项目时,我遇到了类似的'jpeg解码器问题'。我下载了PIL,并立即运行'python setup.py install',并且很高兴一切正常,直到我遇到问题。解决方案:libjpeg已经安装在系统上,所以我安装了libjpeg-devel。我回到PIL的源代码并运行'python setup.py build',最后,在输出中显示PIL configure是否能够检测到对jpeg,gif,freetype等的支持,它说jpeg支持还可以。安装PIL后,它工作正常。
答案 1 :(得分:1)
我遇到了同样的问题,这家伙的帖子为我提供了解决方案:
在Imaging-1.1.6 subdir中的PIL子目录和PIL.pth文件
此处的详细信息:
http://blog.tlensing.org/2008/12/04/kill-pil-%E2%80%93-the-python-imaging-library-headache/
执行此操作后,selftest.py工作正常。我还应该注意到我正在使用jpeg库的macports版本,我已经指定JPEG_ROOT指向我的macports根目录中的include和lib路径
答案 2 :(得分:0)
python路径是否仍在查看旧的二进制版本的libjpeg?
如果是,则需要将其修改为指向新位置。
当你编译新版本的PIL时,它说它找到了libjpeg吗?它会在没有它的情况下愉快地编译(iirc),并且你会看到麻烦的第一个迹象是在包含时间。
您需要在./configure时调整路径。
差异可能不适合你。你应该测试一些,然后再提交一个bug。
答案 3 :(得分:0)
如果使用libjpeg构建,但selftest失败,则可能还有另一个PIL安装令人困惑。尝试安装它,看看自检是否有效。
OP中引用的指令的直接链接是here
答案 4 :(得分:0)
今天我坚持这个问题已经有好几个小时了。我的建议是不要一次又一次地进行反复试验,除非你能在最初的15分钟内解决问题。
您可以使用一些工具来诊断问题:
1.检查if jpeg lib architcture是否符合您的机器架构:
file /usr/local/lib/libjpeg.7.dylib
2.检查_imaging.so是否与您编译的jpeg lib实际链接
cd ImageSrc
python setup.py build_ext -i
otool -L PIL/_imaging.so
3.导入_imaging.so并查看问题是什么
cd PIL
python
import _imaging
4.最后,尝试从python“site-package”目录中删除所有以前安装的PIL *以确保设置正常工作
python setup.py install
对我来说,这是因为我在雪豹上使用32位python,并以这种方式安装jpeg lib解决了这个问题:
./configure CFLAGS="-arch i386" --enable-shared --enable-static