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

时间:2011-12-06 18:34:49

标签: python django python-imaging-library libjpeg

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

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

我试图下载libjpeg源代码并编译它们,并安装PIL,但它无法识别该目录。

所以我想要的,我相信它存在于某个地方,是一种用包安装程序安装PIL和libjpeg的方法,无需任何编译!

提前感谢您的回复。

7 个答案:

答案 0 :(得分:93)

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

pip uninstall PIL
brew install libjpeg
pip install PIL

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

答案 1 :(得分:18)

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

但是我认为你在Snow上安装libjpeg 7时遇到了同样的问题。我的解决方案是:

  
      
  • 确保您没有使用GCC 4.0。这意味着您的.bash_profile文件中需要获取MySQLdb的那些导出行   现在工作需要离开。
  •   
  • get(http://www.ijg.org/files/jpegsrc.v7.tar.gz)并按常规./configure&&制造&& make install(或自述文件说的任何内容)。
  •   
  • 在安装PIL之前但安装libjpeg之后,将setup.py文件中的“JPEG_ROOT = None”行更改为“JPEG_ROOT =   libinclude(“/ USR /本地”)”
  •   

我是通过对this blog的评论得到的。

之后您可以通过pip或easy_install重新安装PIL。确保删除上次运行中的所有已编译内容(有时您需要手动执行此操作)。我使用了virtualenv和pip。

答案 2 :(得分:16)

确保您拥有自制程序和点数,然后运行:

brew install libjpeg
pip install pil

答案 3 :(得分:11)

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

libpng & libjpeg for OSX

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

pip uninstall PIL
pip install PIL --upgrade

这为我解决了decoder JPEG not available错误。

<强>更新

如果遇到错误encoder jpeg not available,您可能需要安装libjpeg。如果使用Homebrew

brew install libjpeg

答案 4 :(得分:4)

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

答案 5 :(得分:3)

对于OSX,pip install 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
--------------------------------------------------------------------

另一个post导致了一些有用的东西。

here安装库。

答案 6 :(得分:2)

如果您安装了macport,则应该执行以下操作:

$ sudo port selfupdate
$ sudo port install py27-pil

它比easy_install + libjpeg方法更容易,因为macports会安装正确的依赖项。