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

37 python django libjpeg python-imaging-library

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

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

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

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

每个回复都要提前感谢您.

小智 93

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

pip uninstall PIL
brew install libjpeg
pip install PIL
Run Code Online (Sandbox Code Playgroud)

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


Den*_*1.5 18

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

不过我认为你在Snow上安装libjpeg 7时会遇到同样的问题.我的解决方案是:

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

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

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


Jia*_*ian 16

确保你有自制和pip,然后运行:

brew install libjpeg
pip install pil
Run Code Online (Sandbox Code Playgroud)


zea*_*soi 11

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

用于OSX的libpng和libjpeg

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

pip uninstall PIL
pip install PIL --upgrade
Run Code Online (Sandbox Code Playgroud)

这解决了decoder JPEG not available我的错误.

更新:

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

brew install libjpeg
Run Code Online (Sandbox Code Playgroud)