在Mac OS X上安装支持JPEG的PIL

我在发表关于这个主题的问题之前发了一个问题,并且阅读了之前发布的其他问题,但都没有成功解决我的问题

我试图在Mac OS X Lion上安装PIL,因为我需要一个Django应用程序。 我也需要JPEG支持,所以我也需要一个JPEG解码器。

我试图下载libjpeg源代码并编译它们,然后安装PIL,但是它不能识别目录。

所以我想,我相信这是存在的地方,是一种方法来安装PIL和libjpeg与包安装程序,而不需要任何编译任何!

提前谢谢你的回复。

我在Snow上安装了libjpeg和PIL,并且没有问题地迁移到Lion。

不过,我认为你有与我在雪上安装libjpeg 7相同的问题。 我的解决scheme是:

  • 确保你没有使用GCC 4.0。 这意味着您的.bash_profile文件中您需要获取MySQLdb的那些导出行现在需要消失。
  • get( http://www.ijg.org/files/jpegsrc.v7.tar.gz )并执行通常的./configure && make && make install(或者readme说的)。
  • 在安装PIL之前,但在安装libjpeg之后,将我的setup.py文件中的“JPEG_ROOT = None”行更改为“JPEG_ROOT = libinclude(”/ usr / local“)”

我从这个博客的评论中得到了这个。

之后,您可以通过点或easy_install重新安装PIL。 确保你上次运行的所有编译过的东西都被删除(有时你需要手动完成)。 我用virtualenv和点子。

在我们的virtualenv我们发现我们需要做的是:

pip uninstall PIL brew install libjpeg pip install PIL 

这比上面的一些更简单,对于这个问题的其他人来说也是足够的。 虽然在brew上有一个xcode警告,在重新安装PIL时有一个setup.py包警告,但之前因为jpeg解码错误而失败的所有testing都是在上面的快速操作之后成功运行的。

确保你有自制软件和点子,然后运行:

 brew install libjpeg pip install pil 

我在OSX上使用了以下二进制文件系统来安装libpng和libjpeg:

libpng&libjpeg for OSX

因为我已经安装了PIL(通过virtualenv上的点),我跑了:

 pip uninstall PIL pip install PIL --upgrade 

这解决了decoder JPEG not available错误对我来说。

更新:

如果遇到错误encoder jpeg not available ,您可能需要安装libjpeg 。 如果使用自制软件 :

 brew install libjpeg 

值得注意的是,每当使用Python和PIL时,都会有很好的信息:如果使用virtualenv(我认为这是一个好主意),PIL可能无法正确检测系统上的图像库,并且在没有JPEG / PNG支持的情况下安装。 使用枕头包装来find正确的兼容PIL叉。

对于OSX,pip安装PIL有:

 -------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform darwin 2.7.2 (default, Oct 11 2012, 20:14:37) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] -------------------------------------------------------------------- --- TKINTER support available *** JPEG support not available --- ZLIB (PNG/ZIP) support available *** FREETYPE2 support not available *** LITTLECMS support not available -------------------------------------------------------------------- 

另一篇文章导致了一些工程。

从这里安装库。

如果你安装了macports,你应该做一个:

 $ sudo port selfupdate $ sudo port install py27-pil 

这比easy_install + libjpeg方法更容易,因为macports安装了正确的依赖关系。