在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 13 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
Python语法分析之字符串格式化
Jun 13 Python
如何在Django配置文件里配置session链接
Aug 06 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
pytorch 实现多个Dataloader同时训练
May 29 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中16个高危函数整理
2019/09/19 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python实现简单socket通信的方法
2016/04/19 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
深入了解Python 变量作用域
2020/07/24 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
经典大学生求职信范文
2014/01/06 职场文书
自我评价的写作规则
2014/01/06 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
人事局接收函
2015/01/30 职场文书
小学大队委竞选口号
2015/12/25 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang