标签:
帮新同事部署开发环境, 由于项目代码里用到了PIL库处理图片, 导致一些图片在浏览器中无法正常显示.
几番折腾, 解决了问题, 这里记录一下报的问题, 及解决方法:
1. python版本不对, 64位的python不能装上,也不可能装得上32位的PIL, 所以先把PY换成32位版本, 这个是最先搞清楚的.没有异议.
2. 安装PIL官方编译的包之后, 会发生著名的: The _imagingft C module is not installed , 此时最好重新下一个:
地址在 http://www.lfd.uci.edu/~gohlke/pythonlibs/
这里是一些第三方组织编译的EXE包, 要下载对应PY版本的PIL, 重新安装, 最好下载Pillow, 它是对PIL的一些BUG修正后的编译版
安装前,可以先 pip uninstall pil
3. 安装Pillow后, 可能还会发生KeyError的错误, 检查项目源码后发现是 Image 模块的save函数中 , 处理图片文件格式时报的错.
不管是"JPEG", 还是"GIF", 都会报错, 解决的办法是:
把项目源码中 import Image , 替换成 from PIL import Image 即可.
按这个原理, 项目中所有用到 Image 模块的地方都应该替换掉.
另外, 可以在cmd console中测试 Image的SAVE字典,
>>> import Image
>>> Image.init()
1
>>> Image.SAVE.keys()
[‘XBM‘, ‘PCX‘, ‘SPIDER‘, ‘HDF5‘, ‘TIFF‘, ‘BUFR‘, ‘EPS‘, ‘JPEG‘, ‘MSP‘, ‘GRIB‘, ‘
GIF‘, ‘BMP‘, ‘TGA‘, ‘IM‘, ‘PPM‘, ‘PDF‘, ‘FITS‘, ‘PALM‘, ‘WMF‘, ‘PNG‘]
经过上面的测试后, 如果 Image.SAVE.keys() 输出为空,则说明没有找到 save format key, 在生成图片时就会报KeyError, 此时就需要把第一行改成: from PIL import Image
标签:
原文地址:http://www.cnblogs.com/piperck/p/4479307.html