在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实现的DES加密算法和3DES加密算法实例
Jun 03 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
Python线程下使用锁的技巧分享
Sep 13 Python
Python 单元测试(unittest)的使用小结
Nov 14 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
你需要学会的8个Python列表技巧
Jun 24 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 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
用PHP4访问Oracle815
2006/10/09 PHP
织梦模板标记简介
2007/03/11 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
Z-Blog中用到的js代码
2007/03/15 Javascript
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python生成excel的实例代码
2017/11/08 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
python获取url的返回信息方法
2018/12/17 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
考试作弊检讨书大全
2014/02/18 职场文书
生物制药专业求职信
2014/03/11 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
保研推荐信范文
2015/03/25 职场文书
2016读书月活动心得体会
2016/01/14 职场文书