19

Necesito instalar PIL localmente para probar la API de imágenes de GAE en mi entorno local.¿Cómo instalar PIL en Mac OSX 10.5.8 para Google App Engine?

me agarró el instalador PIL 1.1.6 para Mac, y cuando voy a seleccionar el destino (cuando se instala), me sale el error:

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

tengo 2.5.x Python en esta máquina.

NOTA:

añadido una recompensa. Tengo una gran necesidad de probar la API de imagen localmente en mi Mac.

+0

¿Es tu propia instalación o la versión del sistema de python? ¿Probaste estas versiones de PIL y Python: http://pythonmac.org/packages/py25-fat/index.html. También vea esto http://stackoverflow.com/questions/1774825/unable-to-use-pil-after-installing-using-pythononmac-org-package-mac-os-leopard – Benjamin

+0

+1 - Tuve problemas similares al intentar instalar PIL en Mac OS X, espero que aparezca una buena solución. – ocodo

+0

Buena pregunta. No estoy seguro. ¿Cómo puedo verificar? ¿"System Python" se refiere a la versión incluida con Mac OSX? –

Respuesta

20

Eso es muy fácil:

  1. Instalar MacPorts
  2. Instalar Python 2.5 con sudo port install python25
  3. Instalar Pil para Python 2.5 con sudo port install py25-pil
  4. En las Preferencias del lanzador Google App Engine establece /opt/local/bin/python2.5 como Python Path*
  5. Reiniciar el lanzador Google App Engine
  6. feliz de codificación

* asegúrese de confirmar con un ENTER o no persistirá

+0

Esperaba que fuera así de fácil pero GAE no está encontrando PIL. "Puede encontrar la biblioteca Python PIL. Consulte la documentación SDK para obtener detalles sobre la instalación de PIL en su sistema". –

+0

@¿Qué verá en las preferencias del iniciador de Google App Engine? – systempuntoout

+0

@Will como dije es bastante fácil. – systempuntoout

1

Como dije en mi comentario, he instalado y probado las instalaciones de Python y PIL found here y todo funciona bien. Su error probablemente esté relacionado con intentar usar la versión de sistema de Python.

+0

Entonces, ¿necesito instalar primero el paquete de Python que se encuentra en ese enlace? ¿Interferirá eso con mi instalación de GAE? –

+0

Sí, necesitas ese paquete. No tengo idea de qué le haría a GAE ... – Benjamin

0

no tengo 10.5.8 Para probar esto, por lo que tu caso es distinto (funciona en 10.6):

  1. Instalar MacPorts (versión Leopard): http://www.macports.org/install.php
  2. Aplicaciones -> Utilidades -> Terminal
  3. $ sudo port install python27
  4. $ sudo port install py27-pip

Instalar PIL ya sea a través de MacPorts o PIP (el que sea funciona - No ejecute):

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

lanzamiento Python 2.7 y probarlo:

$ 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'> 

Recuerde, tiene que escribir $ python2.7, ya que $ python continuará cargando la versión OS X de Python, que es 2.5 creo ...

Esto significa que las secuencias de comandos que escriba con #!/usr/bin/env python en la parte superior utilizarán la que no sea PIL Python 2.5. Tendrá que cambiarlos a #!/opt/local/bin/python2.7 para PIL-Python 2.7. O ...

Usted puede cambiar fácilmente Independientemente de la versión de Python $ python cargas, y pasar por alto que la locura de cabecera, mediante la instalación de python_select:

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

Ahora, cada vez que se ejecuta $ python, que va a cargar Python 2.7, y no OS X Python 2.5. Puede volver fácilmente en cualquier momento. Simplemente ejecute $ python_select -l y verá la versión de Apple de Python. En 10.6: $ sudo python_select python26-apple

+0

Probando esto. . . –

+0

Esto funcionó bien y tengo instalado PIL, pero Google App Engine no lo ve: ADVERTENCIA 2011-03-31 03: 37: 39,566 dev_appserver.py:3700] No se pudo inicializar la API de imágenes; es probable que te pierdas el módulo Python "PIL". ImportError: Ningún módulo llamado _imaging –

+0

MacPorts realmente instala una copia separada de Python, diferente a la de Mac OS X. Todos los MacPorts funcionan dentro de/opt/local/... Hacen esto para mantener las cosas separadas de OS X (evita que los MacPorts rompan OS X, y viceversa). Así que, básicamente, su copia de Google App Engine probablemente se instale usando la versión de Apple de Python (sucede si ejecuta el instalador de Google).Tendrás que instalarlo para MacPort's Python a través de 'sudo port install py27-googleappengine'. Entonces deberías poder 'python2.7' y luego importarlo. –

5

instalaría homebrew, y usarlo para instalar python2.7 (un requisito para pip funcione correctamente junto con homebrew) y luego usar pip instalar PIL.

Si no tiene macports o fink o algo instalado, esto es simple.Si lo hace, es posible que desee examinar primero la eliminación (especialmente si viven en /usr/local).

Instalación homebrew: https://github.com/mxcl/homebrew/wiki/Installation

(Si tiene instalado Xcode (se necesita un compilador) sólo puede utilizar esta sola línea, pero le recomiendo que lea primero las instrucciones para que entienda lo que hace.)

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

Instalación de Python 2.7:

brew install python 

Sólo recuerde añadir la pitón homebrew, así como su directorio bin homebrew a la parte delantera de su $PATH después de instalar (poner esto en su ~/.bashrc):

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

Instalación de PIL: (Parece que mi la instalación está enlazado con la libjpeg, por lo que instalar primero)

brew install jpeg 
pip install pil 

hay que ir.

+2

GAE requiere Python 2.5 – systempuntoout

3

Dale Pillow intentarlo.

pip install Pillow 

... y eso es todo.

+0

funcionado perfectamente para mí - gracias :) –

2

Aquí es otro método que no requiere macports o homebrew, etc ... http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/

Dice leopardo de las nieves en el título, pero funciona muy bien en leopardo (acaba de hacer esto). Parafraseado del artículo:

  1. Descargar jpegsrc.v8c.tar.gz o lo último de http://www.ijg.org/files/
  2. Extracto jpegsrc y desde dentro de ese directorio:

    exportación CC = "gcc -arch i386"
    ./configure
    hacen
    sudo make install

  3. Descargar y extraer PIL y desde dentro del directorio PIL

    sudo python setup.py instalar

Esto parece funcionar para mí, así que espero que ayude a alguien más.

Disculpa que el formato sea un poco raro pero tengo algunos problemas con el editor.

+1

Esto también funcionó para mí - OSX 10.7.2 – a1phanumeric

2
sudo port install py27-pil 
pip install pil 
0

que he tenido python2.7 y PIL instalado desde hace mucho tiempo (usando MacPorts) y he estado utilizando con éxito en el trabajo no-aplicación del motor. App Engine no se pudo cargar y registra el siguiente mensaje:

Could not initialize images API; you are likely missing the Python "PIL" module.

Inspirado por el comentario de @ DaveGallagher por encima de unos DarwinPorts instalar en/opt/local/..., me di cuenta que no estaba corriendo el pitón derecho. En "Google App Engine Launcher", en "Preferencias ...", he cambiado "Ruta de Python" a

/opt/local/bin/python2.7

Ahora, cuando corro, se encuentra el LIF y el servicio funciona imágenes.

ps. Estoy ejecutando GAE Launcher 1.8.2.978.