Mac下python 使用Image库

安装PIL,下载http://www.pythonware.com/products/pil/

解压PIL源码包,阅读README知道需要使用python setup.py install 命令来编译安装。
当然,通常第一次是不会通过的,一般是一些库文件找不到,如X11lib之类。

修改setup.py:

1、36行起

TCL_ROOT = None
JPEG_ROOT = JPEG库目录
ZLIB_ROOT = PNG和ZLIB库目录
TIFF_ROOT = TIFF库目录
FREETYPE_ROOT = FreeType库目录
LCMS_ROOT = None

这里重点是JPEG和zlib库的目录。

a)zlib

Mac下大多的开发库都不在usr目录下,如果你安装了Xcode,那么:

ZLIB_ROOT = libinclude("/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr")

否则你需要安装相应的zlib库,然再加上你的目录路径即可。

b) Jpeg
Jpeg库需要自行安装,下载Jpeg资源包后,解压进入执行./configure 顺利的话即生成makefile,再sudo make install,将会安装在/usr/local/lib下载。
然后添加路径到PIL的setup.py中:

JPEG_ROOT = "/usr/local/lib"

2、大约210行左右

在这几行之后:
add_directory(library_dirs, "/usr/local/lib")
add_directory(include_dirs, "/usr/local/include")
add_directory(library_dirs, "/usr/lib")
add_directory(include_dirs, "/usr/include")

添加相关库目录:
add_directory(library_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib")
add_directory(include_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers")
add_directory(include_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include")

然后再编译安装即可。

另外,如果没设置png与jpeg库目录,PIL也能装成功但在使用过程中会找不到解码器。想要判断png和jpeg是否支持,使用以下方法:

python selftest.py

如果看到

--- JPEG support ok

--- ZLIB (PNG/ZIP) support ok

说明这两个库的配置是正确。

最后可以写个简单的test.py脚本来测试一下:

import Image
im = Image.open("/不要写~的路径/Desktop/y.jpg")
im.save("/不要写~的路径/Desktop/x.jpg")

最新文章

  1. 用excel绘制基因芯片热力图
  2. HashTable,HashSet与Dictionary
  3. [游戏模版15] Win32 飞机射击
  4. hiho一下第88周《Coordinates》
  5. c++ static及const(开发者在线)
  6. VirtualBox从USB设备(PE)启动
  7. 剑指OFFER之重建二叉树(九度OJ1385)
  8. DataPackage-数据库、表的区域设置和系统不一致导致处理失败
  9. 初涉JavaScript模式 (12) : 沙箱模式
  10. exit() die return 的区别
  11. 第44节:Java当中的JVM
  12. Java 多个文件压缩下载
  13. nginx笔记 安装nginx 配置 反向代理 多虚拟主机
  14. 苹果pns推送和唤醒
  15. 清空select标签中option选项的3种不同方式
  16. hive array、map、struct使用
  17. 《Linux 性能及调优指南》1.5 网络子系统
  18. 面向对象epoll并发
  19. 基于Spring Task的定时任务调度器实现
  20. hdu 3682 10 杭州 现场 C - To Be an Dream Architect 简单容斥 难度:1

热门文章

  1. CSS3 笔记五(Buttons)
  2. Dell DRAC的重启方法
  3. Solution for Error FRM-92095: Oracle Jnitiator version too low
  4. 自发行python版本制作(一)
  5. python:字符串转换成字节的三种方式
  6. WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常
  7. linq+映射数据库调用方法
  8. C扩展python的module和Type
  9. 解析xml并且导入mysql
  10. Swift 语法