出现

OError: decoder jpeg not available

的原因是,没有装JPEG的库,同时要支持png图片的话还要装 ZLIB、FREETYPE2、LITTLECMS的库文件。

先说第一种解决方案:完整安装这些库!!!!

安装方法:http://cn-popeye.iteye.com/blog/1236691      在这篇博客里作者很详细的说了下载地址和安装方法,我这里只是抄过来。

1. 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

$ tar -xvzf zlib-1.2.5.tar.gz
$ cd zlib-1.2.5
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

 

2.install png(忘记apt-get吧)

$ 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

3.install freetype (忘记apt-get吧)

$ 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

4.install jpeg (忘记apt-get吧)

$ 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的时候了)!!!!!!!!

$ 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 )!!!!!!!!

$ 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

至此,安装结束。博主也是按照这种方法装的,完全可以用。(我之是在编译了之后太激动了以至于忘了安装,所以一直不能用,最终还是找到了问题所在。这个方法从根本上解决了问题)

说明:如果不是按这种方法装的话,装完之后一定要记得把JPEG,ZLIB,FREETYPE,LITTLECMS的那几个库链接到PIL里边,不然调用不了。

第二种解决方案:

也是在网上看到了,是找了一个替换的库  pillow 。 具体的方法我就不在这里写了,可以到原文里去看。 其中原文中提到作者看到的那篇文章《PIL zip jpeg decoders not working on runtime but work on install/selftest 》里边提到的问题,说装了那些库之后,显示PIL正常支持,但是程序依然运行不起来,我估计原因就是没有把库添加到PIL中去。

原文链接:解决virtualenv下安装Python PIL的support not available问题

第三种解决方案:

是《Ubuntu下安装PIL模块》中提出来的。

Ubuntu linux上部署tornaod应用。处理图片的时候发现Image模块报错:

IOError: decoder jpeg not available

提示没有安装jpeg模块。

先卸载PIL(我是用pip安装的,其他安装的话,请酌情解决。)

sudo pip uninstall PIL

安装Ubuntu打包好的python-imaging模块,便可成功解决。

sudo apt-get install python-imaging

终于彻底搞定了这个东西~

!!!!!!!!剧终!!!!!!!

ubuntu14.04 安装PIL库出现OError: decoder jpeg not available 的解决方案的更多相关文章

  1. ubuntu14.04安装cuda

    1 装系统时候注意,另外14.04要好于12.04,自带了无线驱动 ubuntu14.04安装完不要update 2 安装cuda和cudnn http://blog.csdn.net/l297969 ...

  2. Ubuntu14.04 安装配置Opencv3.0和Python2.7

    http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...

  3. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  4. Ubuntu14.04安装intel集显驱动

    Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...

  5. Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题

    1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...

  6. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  7. Ubuntu14.04 安装QQ国际版wine-qqintl

    Ubuntu14.04安装qq国际版方式: 首先下载,链接为:  https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...

  8. 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解

    一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...

  9. Ubuntu14.04安装samba

    Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...

随机推荐

  1. C#微信公众号开发——access_token的获取

    access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_toke ...

  2. python--socket/Socketerver并发/udp

    Socketerve并发 基于tcp套接字,关键就是两个循环,一个链接循环,一个通讯循环 Socketserver模块中分两个大类:server类(解决链接问题)和request类(解决通信问题) s ...

  3. Maven 私服的简单使用

    所有的 Java 开发者应该是没有没用过 Maven 的吧.Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发.打包.测试.部署等一系列行为.而包管 ...

  4. 确认过眼神,你是喜欢Stream的人

    摘要:在学习Node的过程中,Stream流是常用的东东,在了解怎么使用它的同时,我们应该要深入了解它的具体实现.今天的主要带大家来写一写可读流的具体实现,就过来,就过来,上码啦! 码前准备 在写代码 ...

  5. Thread源码剖析

    前言 昨天已经写了: 多线程三分钟就可以入个门了! 如果没看的同学建议先去阅读一遍哦~ 在写文章之前通读了一遍<Java 核心技术 卷一>的并发章节和<Java并发编程实战>前 ...

  6. 发布你的程序包到Nuget

    1.新建一个.NET Standard 的类库项目 2.选择项目熟悉,在 package 栏目下填写我们的nuget包信息 3.选择我们的项目,点击"Pack" 打包 主要注意的是 ...

  7. Vue2.0父子组件之间的双向数据绑定问题解决方案

    对于vue 1.0项目代码,如果把vue换成vue 2.0,那么之后项目代码就完全奔溃不能运行,vue 2.0在父子组件数据绑定的变化(不再支持双向绑定)颠覆了1.0的约定,很遗憾. 解决方案只有两种 ...

  8. ios开发-程序压后台后,悄悄的抓取数据~~

    我们使用某个app的时候,当我们将程序压到后台之后,我们希望它还能从服务器抓取一些数据,类似微博,微信,qq这些程序压后台 之后,我们依然能看到icon上显示未读数量.但是ios系统是伪多任务操作系统 ...

  9. javaApplication中如何使用log4j

  10. 推送本地项目至Github遇到的问题以及解决办法记录

    在把本地新项目推送至GitHub仓库时的大致流程和步骤,首先现在GitHub上面新建一个项目,复制该项目的 带.git 后缀的地址,比如 git@github.com:XXX/XXX.git 然后在本 ...