在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 25 Python
python range()函数取反序遍历sequence的方法
Jun 25 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
python列表list保留顺序去重的实例
Dec 14 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
python实现操作文件(文件夹)
Oct 31 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 Python
python实现文件分片上传的接口自动化
Nov 19 Python
python help函数实例用法
Dec 06 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 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中创建并处理图象
2006/10/09 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
python如何实现代码检查
2019/06/28 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
自荐书封面下载
2013/11/29 职场文书
播音主持专业个人自我评价
2014/01/09 职场文书
入党自我评价范文
2014/02/02 职场文书
餐饮采购员岗位职责
2014/03/15 职场文书
战略合作意向书
2014/07/29 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
遗嘱格式范本
2015/08/07 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
ant design charts 获取后端接口数据展示
2022/05/25 Javascript