37

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

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

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

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

预先感谢您的每一个回复。

4

7 回答 7

93

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

pip uninstall PIL
brew install libjpeg
pip install PIL

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

于 2012-08-30T10:32:11.703 回答
18

我在 Snow 上安装了 libjpeg 和 PIL,它被顺利迁移到 Lion。

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

  • 确保您没有使用 GCC 4.0。这意味着您现在需要让 MySQLdb 工作的 .bash_profile 文件中的那些导出行需要消失。
  • 获取(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”)”</li>

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

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

于 2011-12-06T23:08:17.050 回答
16

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

brew install libjpeg
pip install pil
于 2012-05-09T22:00:25.720 回答
11

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

用于 OSX 的 libpng 和 libjpeg

因为我已经安装了 PIL(通过 virtualenv 上的 pip),所以我运行了:

pip uninstall PIL
pip install PIL --upgrade

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

更新:

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

brew install libjpeg
于 2012-10-30T16:33:58.503 回答
3

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

于 2011-12-07T00:57:07.723 回答
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
--------------------------------------------------------------------

另一个帖子导致了一些有效的东西。

从这里安装库。

于 2013-07-04T16:38:59.947 回答
2

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

$ sudo port selfupdate
$ sudo port install py27-pil

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

于 2012-01-31T17:02:56.770 回答