ubuntu14.04 安装PIL库出现OError: decoder jpeg not available 的解决方案
出现
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 的解决方案的更多相关文章
- ubuntu14.04安装cuda
1 装系统时候注意,另外14.04要好于12.04,自带了无线驱动 ubuntu14.04安装完不要update 2 安装cuda和cudnn http://blog.csdn.net/l297969 ...
- Ubuntu14.04 安装配置Opencv3.0和Python2.7
http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...
- Ubuntu14.04安装配置web/ftp/tftp/dns服务器
目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...
- Ubuntu14.04安装intel集显驱动
Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...
- Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题
1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...
- Ubuntu14.04安装配置ndnSIM
Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...
- Ubuntu14.04 安装QQ国际版wine-qqintl
Ubuntu14.04安装qq国际版方式: 首先下载,链接为: https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...
- 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解
一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...
- Ubuntu14.04安装samba
Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...
随机推荐
- oracle drop table(表)数据恢复方法
今天不小心把系统用户表给drop掉了,正在运行的系统正式库啊,还好可以恢复 一.查看数据库回收站,看删除的表是否还在回收站select object_name,original_name,partit ...
- Window7下安装Jmeter
解压Jmeter,存放位置为D:\apache-jmeter-2.11 用户变量——>新建变量名JMETER_HOME,变量值为存放目录 系统变量——>添加;%JMETER_HOME%/l ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
- Mysql中autocommit的用法
定义 Mysql文档原文:SET autocommit disables or enables the default autocommit mode for the current session. ...
- Django小范围傻瓜总结
1.母版: layout.html {% block x %}{% endblock %} 2.子版: {% extends 'layout' %} {% block x %}.......{% en ...
- Struts(十八):通过CURD来学习PrepareInterceptor拦截器
PrepareInterceptor拦截器的用法: 1.若Action实现了Preparable接口,则Action方法需实现prepare()方法: 2.PrepareInterceptor拦截器S ...
- 最新IP数据库 存储优化 查询性能优化 每秒解析上千万
高性能IP数据库格式详解 每秒解析1000多万ip qqzeng-ip-ultimate.dat 3.0版 编码:UTF8 字节序:Little-Endian 返回规范字段(如:亚洲|中国| ...
- xpath的一般用法与特殊用法
# xpath的使用 安装lxml from lxml import etree Selector = etree.HTML(网页代码) Selector.xpath(一段神奇的代码) xpath的一 ...
- heightcharts点击曲线图获取返回值的问题(ios点击图表第一次无法触发点击事件解决方法)
需求:用的heightcharts插件,点击曲线图想获得所点击点的返回值,如图 问题代码: (function chart_line(){ var data={"title":[& ...
- Python面向对象——内置对象的功能扩展
1.扩展Python内置类 Python的数据类型 列表(list).字典(dict).集合(set).文件(file).字符串(str),这些都是对象 扩展list的功能,详解如图: 我们给列表添加 ...