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

38 投票
7 回答
37083 浏览
提问于 2025-04-17 07:50

我之前问过关于这个问题的帖子,也看过其他人发的帖子,但都没有成功解决我的问题。

我想在Mac OS X Lion上安装PIL,因为我需要它来做一个Django应用。同时,我还需要支持JPEG格式,所以我也需要一个JPEG解码器。

我尝试下载libjpeg的源代码并进行编译,然后安装PIL,但它没有识别那个目录。

所以我想要的,是一种方法,可以通过一个包管理工具同时安装PIL和libjpeg,而不需要任何编译的步骤!

提前感谢每一个回复。

7 个回答

16

确保你已经安装了homebrew和pip,然后运行下面的命令:

brew install libjpeg
pip install pil
93

在我们的虚拟环境中,我们发现只需要做以下操作:

pip uninstall PIL
brew install libjpeg
pip install PIL

这个方法比上面提到的一些方法简单,可能对其他遇到同样问题的人也有效。虽然在使用brew时出现了一个xcode的警告,还有在重新安装PIL时出现了一个setup.py的包警告,但在做完上面的简单操作后,之前因为jpeg解码错误而失败的所有测试都成功运行了。

18

我在Snow系统上安装了libjpeg和PIL,迁移到Lion系统时没有遇到问题。

不过,我觉得你可能遇到了我在Snow上安装libjpeg 7时遇到的同样问题。对我来说,解决办法是:

  • 确保你没有使用GCC 4.0。这意味着你在.bash_profile文件中为了让MySQLdb正常工作而添加的那些export行现在需要删除。
  • 下载这个文件(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”)”。

这些信息是我在这个博客的评论中找到的。

之后你可以通过pip或easy_install重新安装PIL。确保上次运行时编译的所有文件都被删除(有时候你需要手动删除)。我使用的是virtualenv和pip。

撰写回答