我之前发过一个关于这个主题的问题,并阅读之前发布过的其他问题,但没有一个问题成功解决了我的问题。
我正在尝试在Mac OS X Lion上安装PIL,因为我需要它用于Django应用程序。我还需要JPEG支持,所以我也需要一个JPEG解码器。
我试图下载libjpeg源代码并编译它们,并安装PIL,但它无法识别该目录。
所以我想要的,我相信它存在于某个地方,是一种用包安装程序安装PIL和libjpeg的方法,无需任何编译!
提前感谢您的回复。
答案 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:
因为我已经安装了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会安装正确的依赖项。