在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的subprocess模块总结
Nov 07 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
python 实现图片旋转 上下左右 180度旋转的示例
Jan 24 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
解决Django连接db遇到的问题
Aug 29 Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 Python
Python paramiko使用方法代码汇总
Nov 20 Python
Matplotlib配色之Colormap详解
Jan 05 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
python3 sqlite3限制条件查询的操作
Apr 07 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学习笔记之数组篇
2011/06/28 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
微信小程序自定义组件
2017/08/16 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
Vue.js 表单控件操作小结
2018/03/29 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
python实现批量改文件名称的方法
2015/05/25 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
详解Python字典的操作
2019/03/04 Python
Python itertools.product方法代码实例
2020/03/27 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
python 装饰器的基本使用
2021/01/13 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
打印机墨盒:123Inkjets
2017/02/16 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
经理秘书求职自荐信范文
2014/03/23 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
首都博物馆观后感
2015/06/05 职场文书
教师节联欢会主持词
2015/07/04 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript