在Mac OS系统上安装Python的Pillow库的教程


Posted in Python onNovember 20, 2015

今天帮朋友做个python的小工具,发现系统上缺少ptyhon的支持库,返回如下信息

ImportError: No module named PIL 
然后就下载安装,因为机器上也没有python的管理工具pip,所以也一并安装
1. 安装pip

sudo easy_install pip

pip 安装成功就可以直接安装pil或者pillow

2. 通过命令pip install pil

pip install Pil
Downloading/unpacking Pil 
 Could not find any downloads that satisfy the requirement Pil 
 Some externally hosted files were ignored (use --allow-external Pil to allow). 
Cleaning up... 
No distributions at all found for Pil 
Storing debug log for failure in /Users/macbook/Library/Logs/pip.log

3. 所以就安装pillow

pip install --use-wheel Pillow
Downloading/unpacking Pillow 
 Downloading Pillow-2.4.0.zip (6.5MB): 5.0MB downloaded 
Cleaning up...

弄了会别的回来发现还没有下载完,这叫一个慢呀,于是放弃
4. Git

通过git下载源码地址https://github.com/python-imaging/Pillow

git clone https://github.com/python-imaging/Pillow.git

然后开始编译安装

4.1

python setup.py build_ext -i

编译完之后会提示运行测试例子,并且发现JPEG support not available

-------------------------------------------------------------------- 
version   Pillow 2.4.0 
platform   darwin 2.7.5 (default, Aug 25 2013, 00:04:04) 
       [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] 
-------------------------------------------------------------------- 
--- TKINTER support available 
*** JPEG support not available 
*** OPENJPEG (JPEG2000) support not available 
--- ZLIB (PNG/ZIP) support available 
*** LIBTIFF support not available 
--- FREETYPE2 support available 
*** LITTLECMS2 support not available 
*** WEBP support not available 
*** WEBPMUX 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.

4.2 因为JPEG support not available,运行python selftest.py报告错误

1 tests of 57 failed. 

于是只好卸载pillow

可以通过pip命令来卸载

pip uninstall pillow 
sudo pip uninstall pillow
Password: 
Uninstalling Pillow: 
 /Library/Python/2.7/site-packages/Pillow-2.4.0-py2.7-macosx-10.9-intel.egg 
 /usr/local/bin/pilconvert.py 
 /usr/local/bin/pildriver.py 
 /usr/local/bin/pilfile.py 
 /usr/local/bin/pilfont.py 
 /usr/local/bin/pilprint.py 
Proceed (y/n)? y  
  Successfully uninstalled Pillow 

成功之后需要安装libjpeg的支持

brew install libjpeg

安装成功之后重新编译pillow

-------------------------------------------------------------------- 
version   Pillow 2.4.0 
platform   darwin 2.7.5 (default, Aug 25 2013, 00:04:04) 
       [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] 
-------------------------------------------------------------------- 
--- TKINTER support available 
--- JPEG support available 
*** OPENJPEG (JPEG2000) support not available 
--- ZLIB (PNG/ZIP) support available 
*** LIBTIFF support not available 
--- FREETYPE2 support available 
*** LITTLECMS2 support not available 
*** WEBP support not available 
*** WEBPMUX support not available 
-------------------------------------------------------------------- 
python selftest.py  

-------------------------------------------------------------------- 
Pillow 2.4.0 TEST SUMMARY  
-------------------------------------------------------------------- 
Python modules loaded from /Users/macbook/yyang/app-devel-source/python/Pillow/PIL 
Binary modules loaded from /Users/macbook/yyang/app-devel-source/python/Pillow/PIL 
-------------------------------------------------------------------- 
--- PIL CORE support ok 
--- TKINTER support ok 
--- JPEG support ok 
*** JPEG 2000 support not installed 
--- ZLIB (PNG/ZIP) support ok 
*** LIBTIFF support not installed 
--- FREETYPE2 support ok 
*** LITTLECMS2 support not installed 
*** WEBP support not installed 
-------------------------------------------------------------------- 
Running selftest: 
--- 57 tests passed.

最后执行安装

sudo python setup.py install
Python 相关文章推荐
python数据结构之链表详解
Sep 12 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python求质数的3种方法
Sep 28 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
pandas apply使用多列计算生成新的列实现示例
Feb 24 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 Python
Python爬虫中urllib3与urllib的区别是什么
Jul 21 Python
分享python函数常见关键字
Apr 26 Python
详解Python编程中time模块的使用
Nov 20 #Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 #Python
将Emacs打造成强大的Python代码编辑工具
Nov 20 #Python
Python聚类算法之DBSACN实例分析
Nov 20 #Python
Python聚类算法之凝聚层次聚类实例分析
Nov 20 #Python
Python聚类算法之基本K均值实例详解
Nov 20 #Python
Python实现将xml导入至excel
Nov 20 #Python
You might like
php discuz 主题表和回帖表的设计
2009/03/13 PHP
php实现的短网址算法分享
2014/06/20 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
Python类的专用方法实例分析
2015/01/09 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
最热门的自我评价
2013/12/30 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
团日活动策划书
2014/02/01 职场文书
市场开发计划书
2014/05/07 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
2019新员工心得体会
2019/06/25 职场文书