zoukankan      html  css  js  c++  java
  • 转自 处理老版PIL 到 pillow

    帮新同事部署开发环境, 由于项目代码里用到了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 

  • 相关阅读:
    ScrollView 字典
    centos 6.x 安装redis
    Linux 添加epel源
    Linux 关于解压
    Linux 删除文件夹
    Linux sz rz
    让div 实现 input效果
    解决js浮点数计算bug
    键盘绑定事件和焦点处理
    npm的镜像替换成淘宝
  • 原文地址:https://www.cnblogs.com/piperck/p/4479307.html
Copyright © 2011-2022 走看看