如何在Mac OSX 10.5.8上为Google App Engine安装PIL?

时间:2011-02-01 21:31:42

标签: python google-app-engine macos python-imaging-library osx-leopard

我需要在本地安装PIL,以便在我的本地环境中测试GAE的图像api。

我抓住了Mac的PIL 1.1.6安装程序,当我选择目的地时(安装时),我收到错误:

You cannot install PIL 1.1.6 on this volume. 
PIL requires System Python 2.5 to install.

我在这台机器上安装了Python 2.5.x.

注:

增加了赏金。我真的需要一种在Mac上本地测试图像API的方法。

8 个答案:

答案 0 :(得分:20)

这很容易:

  1. 安装MacPorts
  2. 使用sudo port install python25
  3. 安装 Python 2.5
  4. 使用sudo port install py25-pil
  5. 安装 Pil for Python 2.5
  6. 在Google App Engine启动器首选项中将/opt/local/bin/python2.5设置为 Python路径 *
  7. 重新启动Google App Engine启动器
  8. 快乐编码
  9. *请务必使用ENTER确认,否则将无法继续

答案 1 :(得分:5)

我会安装homebrew,并使用它来安装python2.7(pip与homebrew一起正常工作的要求),然后使用pip安装PIL。

如果您没有安装macports或fink或其他东西,这很简单。如果您这样做,您可能希望首先考虑将其删除(特别是如果它们位于/usr/local中)。

安装自制程序https://github.com/mxcl/homebrew/wiki/Installation

(如果您安装了Xcode(需要编译器),您可以使用这个单行,但我建议您先阅读说明,以便了解它的作用。)

ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"

安装python 2.7

brew install python

请记住在安装后将自制的python以及自制的bin目录添加到$PATH的前面(将其放在~/.bashrc中):

export PATH=/usr/local/bin:/usr/local/Cellar/python/2.7.1/bin:$PATH

安装PIL : (好像我的安装与libjpeg相关联,所以先安装它)

brew install jpeg
pip install pil

你去。

答案 2 :(得分:3)

尝试Pillow

pip install Pillow

......就是这样。

答案 3 :(得分:2)

这是另一种不需要macports或homebrew等的方法...... http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/

它在标题中说雪豹,但它在豹子上工作正常(就这样做了)。从文章中解释:

  1. http://www.ijg.org/files/
  2. 下载jpegsrc.v8c.tar.gz或最新版本
  3. 从该目录中提取jpegsrc:

    export CC =“gcc -arch i386”
    的./configure
    使
    sudo make install

  4. 从PIL目录下载并提取PIL

    sudo python setup.py install

  5. 这似乎对我有用,所以希望它可以帮助别人。

    很抱歉格式化有点奇怪,但我在编辑器方面遇到了一些麻烦。

答案 4 :(得分:2)

sudo port install py27-pil
pip install pil

答案 5 :(得分:1)

正如我的评论中所述,我已经安装并测试了Python和PIL安装found here,一切正常。您的错误可能与尝试使用Python的系统版本有关。

答案 6 :(得分:0)

我没有10.5.8来测试这个,所以YMMV(适用于10.6):

  1. 安装MacPorts(Leopard版本):http://www.macports.org/install.php
  2. 应用程序 - >实用程序 - >终端
  3. $ sudo port install python27
  4. $ sudo port install py27-pip
  5. 通过MacPorts或pip安装PIL(无论哪种方式都有效 - 不要同时运行):

    • $ sudo port install py27-pil
    • $ sudo pip-2.7 install PIL

    启动Python 2.7并测试它:

    $ python2.7
    >>> import PIL
    >>> PIL
    <module 'PIL' from '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/__init__.pyc'>
    

    请记住,您必须输入$ python2.7,因为$ python将继续加载OS X版本的Python,我认为这是2.5 ...

    这意味着您在顶部使用#!/usr/bin/env python编写的任何脚本都将使用非PIL Python 2.5。对于PIL-Python 2.7,您必须将它们更改为#!/opt/local/bin/python2.7。还是......

    您可以通过安装python_select轻松更改任何Python版本$ python加载,并忽略该标题疯狂:

    $ sudo port install python_select
    ...installs stuff...
    $ sudo python_select python27
    

    现在,无论何时运行$ python,它都会加载Python 2.7,而不是OS X Python 2.5。您可以随时轻松切换回来。只需运行$ python_select -l,您就会看到Python的-apple版本。在10.6:$ sudo python_select python26-apple

答案 7 :(得分:0)

我已经安装了python2.7和PIL很长时间(使用MacPorts)并且我已经在非应用程序引擎工作中成功使用它们。 App Engine无法加载它并记录以下消息:

  

无法初始化图片API;你很可能错过了Python“PIL”模块。

受@ DaveGallagher关于MacPorts安装到/ opt / local / ...的评论的启发,我意识到我没有运行正确的python。在“Google App Engine Launcher”的“首选项...”中,我将“Python路径”更改为

  

/opt/local/bin/python2.7

现在,当我跑步时,它会找到PIL并且图像服务可以正常工作。

PS。我正在运行GAE Launcher 1.8.2.978。