修正pil错误 IOError: decoder zip not available

来源:互联网 发布:马小婷好嫁风 知乎 编辑:程序博客网 时间:2024/06/10 07:16

自从blog迁移到vps之后,一直没有使用图片上传功能,今天测试了一下,直接报错提示

decoder zip not available

开始以为是文件夹权限问题,调试之后发现,是安装pil的时候,没有正确定位libz.so,修复步骤如下

  1. 这个vps的操作系统是32位的ubuntu find / -name libz.so
    找到libz.so文件在/lib/i386-linux-gnu/

  2. 编辑/etc/ld.so.conf,把 /lib/i386-linux-gnu/ 加到文件末尾,再执行一次ldconfig,让配置生效

  3. 删除之前安装的pil,我是用easy_install安装,这货不带删除功能,要麻烦一点,先装个pip,再来重装pil

    • easy_install pip
    • pip uninstall pil
    • pip install pil

    pip安装python包采用编译的方式,这样比较好

  4. 重启django进程,一切正常

pip是easy_install的替代品,带删除功能,很方便,安装方法如下

  1. $ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py 
  2. $ [sudo] python get-pip.py

参考资料

  • http://www.foxhop.net/ubuntu-python-easy_install-pil-does-not-install-zlib-support
  • https://pypi.python.org/pypi/pip/
原创粉丝点击