在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编程实现语音控制电脑
Apr 01 Python
Python中random模块用法实例分析
May 19 Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
Python实现的归并排序算法示例
Nov 21 Python
Django中Forms的使用代码解析
Feb 10 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
Python中zip函数如何使用
Jun 04 Python
Python csv文件记录流程代码解析
Jul 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
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
全面理解闭包机制
2016/07/11 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
angular6的响应式表单的实现
2018/10/10 Javascript
理理Vue细节(推荐)
2019/04/16 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
Python通过解析网页实现看报程序的方法
2014/08/04 Python
python自动zip压缩目录的方法
2015/06/28 Python
python僵尸进程产生的原因
2017/07/21 Python
python+opencv实现阈值分割
2018/12/26 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
Python实现DDos攻击实例详解
2019/02/02 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
python定义类的简单用法
2020/07/24 Python
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
会计专业毕业生推荐信
2013/11/05 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
专项法律服务方案
2014/06/11 职场文书
北京奥运会口号
2014/06/21 职场文书
python超详细实现完整学生成绩管理系统
2022/03/17 Python
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫
Go语言怎么使用变长参数函数
2022/07/15 Golang