在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 pass 语句使用示例
Mar 11 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
python连接MySQL数据库实例分析
May 12 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
详解Python中如何写控制台进度条的整理
Mar 07 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
python tornado微信开发入门代码
Aug 24 Python
python查看模块安装位置的方法
Oct 16 Python
python实现小世界网络生成
Nov 21 Python
Python实现老照片修复之上色小技巧
Oct 16 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
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python实现简易内存监控
2018/06/21 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
python Scrapy框架原理解析
2021/01/04 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
sort命令的作用和用法
2013/08/25 面试题
师德个人剖析材料
2014/02/02 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
村居抓节水倡议书
2014/05/19 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
关于环保的宣传稿
2015/07/23 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记