PIL是python理想的图片处理module,但是想要良好的支持各种图片,还需要检查一下几步,否则会提示:IOError: decoder jpeg not available之类的。

我的环境:Linux mint 11 amd64 / Python2.7

第一步:安装zlib png freetype   jpeg

  • install zlib (ubuntu 官方源没有zlib,别想apt-get了)

下载zlib,(zlib.net已墙,可以去SF.net),url: http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.gz/download?use_mirror=superb-dca2

shell:

$ tar -xvzf zlib-1.2.5.tar.gz
$ cd zlib-1.2.5
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
  • install png(忘记apt-get吧)
shell:
$ wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.6.tar.gz (如果文件不存在就浏览 /src/目录查找一下最新版)
$ tar -xvzf libpng-1.5.6.tar.gz 
$ cd libpng-1.5.6
$ ./configure --prefix=/usr/local
$ make 
$ sudo make install
  • install freetype (忘记apt-get吧)

     shell:

$ wget http://nchc.dl.sourceforge.net/project/freetype/freetype2/2.4.7/freetype-2.4.7.tar.gz
$ tar -xvzf freetype-2.4.7.tar.gz 
$ cd freetype-2.4.7/
$ ./configure --prefix=/usr/local
$ make 
$ make install
  • install jpeg (忘记apt-get吧)

shell:

$ wget http://www.ijg.org/files/jpegsrc.v8c.tar.gz
$ tar -xvzf jpegsrc.v8c.tar.gz
$ cd jpeg-8c/
$ ./configure --prefix=/usr/local
$ make 
$ sudo make install

第二步:安装需要的 devel库(现在是想起apt-get的时候了)

shell:
$ sudo apt-get install libjpeg8-dev

$ sudo apt-get install libpng12-dev

$ sudo apt-get install libfreetype6-dev

$ sudo apt-get install zlib1g-dev

第三步:安装 PIL( Python Imaging Library 

shell 写道
$ wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
$ tar -xvzf Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7/

   

修改setup.py文件:
$ nano setup.py

修改如下: 
JPEG_ROOT = "/usr/local/lib"
ZLIB_ROOT = "/usr/local/lib"
FREETYPE_ROOT = "/usr/local/lib"

   检查是否支持:

$ python setup.py build_ext -i
running build_ext
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available         -----------------------> OK! 
--- ZLIB (PNG/ZIP) support available -----------------------> OK! 
--- FREETYPE2 support available ----------------------->  OK! 
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.

   正式安装:

$ python setup.py build
$ sudo python setup.py install

最后一步:验证

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. import Image
  4. picPath = '~/images/1212.jpg'
  5. im = Image.open(picPath)
  6. print im.getbbox()
输出结果图片尺寸:
(0, 0, 600, 715)

PIL安装记录,编译支持jpeg png的更多相关文章

  1. ubuntu14.04 安装PIL库出现OError: decoder jpeg not available 的解决方案

    出现 OError: decoder jpeg not available 的原因是,没有装JPEG的库,同时要支持png图片的话还要装 ZLIB.FREETYPE2.LITTLECMS的库文件. 先 ...

  2. php重新编译,gd扩展支持jpeg文件

    晚上写东西的时候,报了一个错误: Call to undefined function imagecreatefromjpeg() 没有开启 jpeg 支持?原来是默认安装的 gd 扩展默认不支持 j ...

  3. linux如何编译安装新内核支持NTFS文件系统?(以redhat7.2x64为例)

    内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核 ...

  4. Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG

    在安装Ecshop的时候,遇到两个问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be cal ...

  5. 编译安装haproxy开启支持SSL

    1.下载程序包 # wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz # tar xvf haproxy-1.7.5. ...

  6. mysql5.7.10 源码编译安装记录 (centos6.4)【转】

    一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...

  7. 一般源码安装添加的GD库 是不支持 jpeg 格式的图片的

    一般源码安装添加的GD库 是不支持 jpeg 格式的图片的,只支持如下格式 GD Support enabled GD Version bundled (2.0.34 compatible) GIF ...

  8. 编译安装FFmpeg 要支持xvid、x264、mp3、ogg、amr、faac

    编译安装FFmpeg 要支持xvid.x264.mp3.ogg.amr.faac libfaac    faac格式的编解码包libmp3lame    mp3格式编解码包libopencore-am ...

  9. linux centos 系统php支持jpeg的安装方法

    linux php支持jpeg首先要安裝libjpeg,运行下面的命令: yum install libjpeg* libpng* freetype* gd* 耐心等待完成,重启(service ht ...

随机推荐

  1. linux下常用网络操作汇总

    首先说明下RHEL6下设置IP地址的确和RHEL5下有几点是不同的. 我装完RHEL6中默认选择的是DHCP自动获取方式: [root@localhost ~]# vi /etc/sysconfig/ ...

  2. 利用no_merge优化

    SQL> select a.unit3_code 机构编码, 2 a.unit3_name 机构名称, 3 a.dept1_code 部门编码, 4 a.dept1_name 部门名称, 5 a ...

  3. 分布式文件系统MFS(moosefs)实现存储共享(一)

    分布式文件系统MFS(moosefs)实现存储共享 作者:田逸(sery@163.com) from:[url]http://net.it168.com/a2009/0403/270/00000027 ...

  4. MFC记录

    1,下拉列表式组合框 合框被操作时会向父窗口发送通知消息,这些通知消息及其含义如下: CBN_CLOSEUP:组合框的列表框组件被关闭,简易组合框不会发送该通知消息       CBN_DBLCLK: ...

  5. 【转】git在eclipse中的配置

    原文网址:http://www.cnblogs.com/zhxiaomiao/archive/2013/05/16/3081148.html 一_安装EGIT插件 http://download.ec ...

  6. windows 7 下 BCGControlBar 的安装破解

    一定要以管理员权限启动,否则没有注册码输入框,不能破解,折腾我好几遍 谨记

  7. Delphi实现WebService带身份认证的数据传输

    WebService使得不同开发工具开发出来的程序可以在网络连通的环境下相互通信,它最大的特点就是标准化(基于XML的一系列标准)带来的跨平台.跨开发工具的通用性,基于HTTP带来的畅通无阻的能力(跨 ...

  8. UVA 11178 Morley's Theorem(旋转+直线交点)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18543 [思路] 旋转+直线交点 第一个计算几何题,照着书上代码打 ...

  9. UVA1416 Warfare And Logistics

    UVA1416 Warfare And Logistics 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36232 [ ...

  10. Java正则表达式(1)

    String类的三个内建正则表达式工具: 1.matches()方法 示例:检查一个句子是否以大写字母开头,以句号结尾 public static boolean checkFormat(String ...