在Mac OS系统上安装Python的Pillow库的教程

 更新时间:2015年11月20日 15:02:08   作者:bulreed  
这篇文章主要介绍了在MacOS下安装Python的Pillow库的教程,Pillow库用来对图片进行各种处理操作,需要的朋友可以参考下

今天帮朋友做个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 用下标截取字符串的实例

    今天小编就为大家分享一篇python 用下标截取字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python实现替换word中的关键文字(使用通配符)

    python实现替换word中的关键文字(使用通配符)

    今天小编就为大家分享一篇python实现替换word中的关键文字(使用通配符),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python三引号输出方法

    python三引号输出方法

    在本文里我们给大家分析那个了关于python三引号输出方法以及相关知识点,需要的朋友们学习下。
    2019-02-02
  • 一文详细NumPy中np.empty的用法

    一文详细NumPy中np.empty的用法

    np.empty是NumPy库中一个强大但潜在危险的工具,本文主要介绍了一文详细NumPy中np.empty的用法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Python用zip函数同时遍历多个迭代器示例详解

    Python用zip函数同时遍历多个迭代器示例详解

    这篇文章主要给大家进行介绍了Python如何用zip函数同时遍历多个迭代器,文中给出了示例以及原理和注意事项,相信会对大家的理解和学习很有帮助,有需要的朋友们下面来一起学习学习吧。
    2016-11-11
  • Python中使用Frozenset对象的案例详解

    Python中使用Frozenset对象的案例详解

    Frozensets提供了一种创建不可变的集合的方法,它们只接受唯一的元素,并且是可散列类型的对象,所以它们可以在其他只接受可散列对象作为子对象的 Python 对象中使用,这篇文章主要介绍了如何在Python中使用Frozenset对象,需要的朋友可以参考下
    2022-08-08
  • Python实现的读取电脑硬件信息功能示例

    Python实现的读取电脑硬件信息功能示例

    这篇文章主要介绍了Python实现的读取电脑硬件信息功能,结合实例形式分析了Python基于wmi库读取电脑CPU、磁盘、网络、进程等硬件信息相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 人脸检测实战终极之OpenCV+Python实现人脸对齐

    人脸检测实战终极之OpenCV+Python实现人脸对齐

    这篇文章主要是为了演示如何使用 OpenCV、Python 和面部标志从而实现对齐人脸。文中示例代码对我们的工作或学习有一定的帮助,感兴趣的小伙伴可以学习一下
    2021-12-12
  • 关于ResNeXt网络的pytorch实现

    关于ResNeXt网络的pytorch实现

    今天小编就为大家分享一篇关于ResNeXt网络的pytorch实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 解决TensorFlow训练内存不断增长,进程被杀死问题

    解决TensorFlow训练内存不断增长,进程被杀死问题

    今天小编就为大家分享一篇解决TensorFlow训练内存不断增长,进程被杀死问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论