2013-01-03 47 views
3

我确定这里有一个重复的东西,但是我看着我正在我的绳索的尽头。我试图让我的Mac OS X 10.8上的PIL工作,以便我可以使用dev_appserver.py来测试成像功能。首先,我在安装PIL之前遇到问题,直到获得Homebrew并使用brew install pil安装它。我认为brew安装了所有必要的依赖关系,但是当我尝试在应用中调整JPEG大小时,它说IOError: decoder jpeg is not available。所以我在网上查找,大部分地方都说我需要(1)卸载PIL,(2)从源代码安装libjpeg和(3)重新安装PIL。所以,我brew uninstall PIL,然后在pil上安装libjpeg,在mac上安装Google app引擎Mountain Lion

curl -O www.ijg.org/files/jpegsrc.v7.tar.gz 
tar zxvf jpegsrc.v7.tar.gz 
cd jpeg-7d/ 
./configure 
make 
make install 

终于brew install pil。我重新启动dev_appserver.py并重新加载本地主机上的页面,但同样的错误。我测试了PIL从python命令行与

>>> from PIL.Image import Image 
>>> f = open("someimagefile", "rb") 
>>> i = Image() 
>>> i.fromstring(f.read(), decoder_name="jpeg") 
Traceback blah blah blah 
IOError: decoder jpeg not available 

我没有太多的经验,从命令行安装实用程序,所以我可能错过了一些明显。再次,抱歉,如果有重复,但正如我所说,我看,并找不到任何似乎工作。

回答

0

PIL在编译期间未找到libjpeg头文件。有关如何指定标题(“包含”)位置的信息,请参阅您的构建系统文档,例如。作为环境变量。

+0

现在我似乎无法找到的libjpeg。我试图使用brew多次安装并从源代码安装。我在'/ usr/local/Cellar'中找到了一个名为'jpeg'的文件夹,我认为这是一个名为brew的文件夹。我尝试将setup.py中的'JPEG_ROOT'设置为'/ usr/local/Cellar'并运行'python setup.py build'。但是当我进行自测时,显示它仍然没有JPEG解码器。我再次尝试了/ usr/local/lib /,因为我在那里看到了libjpeg.dylib,但仍然没有工作。再说一次,当谈到用UNIX安装实用程序时,我是一个新手,所以很抱歉,如果我错过了某些明显的东西。 – Harrison

2

终于搞定了!感谢@zgoda和这个link。以下是我结束时对那些有同样问题的人的步骤:

首先确保没有安装PIL。从http://www.ijg.org/files/jpegsrc.v8c.tar.gz下载libjpeg,解压缩它,./configuremake。当我尝试make install时,找不到存储手册页的目录,导致安装失败。我看了看上面的链接上的信息,并决定

cp -r ~/Downloads/jpeg-6d/ /usr/local/jpeg

我想,如果安装去细比线是没有必要的。

然后在PIL的setup.py编辑以下行:

JPEG_ROOT = None 

JPEG_ROOT = "/usr/local/jpeg" 

最后:

$ python setup.py build 
$ python setup.py install 
+0

嗨,这非常有帮助。我能否为其他读者澄清(因为我错过了它):在复制步骤之后,您需要'sudo make install'。这也是[这里]描述(http://gpiot.com/mac-os-x-lion-install-the-python-image-library-pil/)。我不需要编辑'setup.py'或执行它。 –

相关问题