19

Ho bisogno di ottenere il PIL installato localmente per testare le immagini di GAE api nel mio ambiente locale.Come installare PIL su Mac OSX 10.5.8 per Google App Engine?

ho afferrato il programma di installazione PIL 1.1.6 per Mac, e quando vado per selezionare la destinazione (quando si installa), ottengo l'errore:

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

ho Python 2.5.x su questa macchina.

NOTA:

Aggiunto un premio. Ho davvero bisogno di un modo per testare l'API immagine localmente sul mio Mac.

+0

È la propria installazione o la versione di Python del sistema? Hai provato queste versioni PIL e Python: http://pythonmac.org/packages/py25-fat/index.html. Vedi anche questo http://stackoverflow.com/questions/1774825/unable-to-use-pil-after-installing-using-pythononmac-org-package-mac-os-leopard – Benjamin

+0

+1 - Ho avuto problemi simili cercando di installare PIL su Mac OS X, spero che una buona soluzione si presenti. – ocodo

+0

Buona domanda. Non sono sicuro. Come posso controllare? "System Python" si riferisce alla versione fornita con Mac OSX? –

risposta

20

Questo è abbastanza facile:

  1. Installare MacPorts
  2. Installare Python 2.5 con sudo port install python25
  3. Installare Pil per Python 2.5 con sudo port install py25-pil
  4. Nelle preferenze launcher Google App Engine impostato /opt/local/bin/python2.5 as Python Path*
  5. Riavviare il programma di avvio di Google App Engine
  6. Felice di codifica

* essere sicuri di confermare con un ENTER o non persisterà

+0

Speravo fosse facile ma GAE non sta trovando PIL. "impossibile trovare la libreria PIL Python. Per i dettagli sull'installazione di PIL sul proprio sistema, consultare la documentazione di SDK." –

+0

@Che cosa vedi nelle preferenze di avvio di Google App Engine? – systempuntoout

+0

@Will come ho detto è abbastanza facile. – systempuntoout

1

Come indicato nel mio commento, ho installato e testato le installazioni Python e PIL found here e tutto funziona correttamente. Il tuo errore è probabilmente correlato al tentativo di utilizzare la versione di sistema di Python.

+0

Quindi devo prima installare il pacchetto Python trovato in quel collegamento? Ciò interferirà con la mia installazione GAE? –

+0

Sì, è necessario quel pacchetto. Non ho idea di cosa farebbe per GAE ... – Benjamin

0

Non ho 10.5.8 per testare questo, in modo YMMV (funziona su 10,6):

  1. Installare MacPorts (versione Leopard): http://www.macports.org/install.php
  2. Applicazioni -> Utility -> Terminale
  3. $ sudo port install python27
  4. $ sudo port install py27-pip

Installare PIL sia via MacPorts o PIP (a seconda di quale funziona - Non eseguire contemporaneamente):

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

lancio Python 2.7 e provarlo fuori:

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

Ricordare, è necessario digitare $ python2.7, dal $ python continuerà a caricare la versione OS X di Python, che è 2,5 credo ...

Ciò significa che qualsiasi script scritto con #!/usr/bin/env python nella parte superiore utilizzerà il non-PIL Python 2.5. Dovrai cambiarli in #!/opt/local/bin/python2.7 per PIL-Python 2.7. Oppure ...

Si può facilmente cambiare a seconda di quale versione di Python $ python carichi, e ignorare tale intestazione follia, con l'installazione di python_select:

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

Ora, ogni volta che si esegue $ python, sarà caricare Python 2.7, e non OS X Python 2.5. Puoi facilmente tornare indietro in qualsiasi momento. Basta eseguire $ python_select -l e vedrai la versione -apple di Python. Su 10.6: $ sudo python_select python26-apple

+0

Provando questo. . . –

+0

Questo ha funzionato bene e ho installato PIL, ma Google App Engine non lo vede: ATTENZIONE 2011-03-31 03: 37: 39,566 dev_appserver.py:3700] Impossibile inizializzare le API delle immagini; è probabile che manchi il modulo "PIL" di Python. ImportError: nessun modulo denominato _imaging –

+0

MacPorts installa in realtà una copia separata di Python, diversa da quella di Mac OS X. Tutte le cose di MacPorts vivono all'interno di/opt/local/... Lo fanno per mantenere le cose separate da OS X (impedisce a MacPorts di interrompere OS X e viceversa). Quindi, in pratica, la tua copia di Google App Engine è probabilmente installata utilizzando la versione Apple di Python (succede se esegui il programma di installazione di Google).Dovrai installarlo per MacPort's Python tramite 'sudo port install py27-googleappengine'. Quindi dovresti essere in grado di 'python2.7', e quindi importarlo. –

5

vorrei installare homebrew, e l'uso che per l'installazione python2.7 (un requisito per pip per lavorare correttamente con homebrew) e quindi utilizzare pip installare PIL.

Se non si dispone già di Macports o Fink o di qualcosa installato, questo è semplice.Se lo fai, potresti voler esaminare prima di rimuoverlo (specialmente se vivono in /usr/local).

Installare homebrew: https://github.com/mxcl/homebrew/wiki/Installation

(Se si dispone di Xcode installato (è necessario un compilatore) si può semplicemente utilizzare questo one-liner, ma vi consiglio di leggere le istruzioni prima in modo da capire che cosa fa.)

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

installare Python 2.7:

brew install python 

Basta ricordarsi di aggiungere il pitone homebrew così come la vostra directory bin homebrew alla parte anteriore della vostra $PATH dopo l'installazione (mettere questo nella tua ~/.bashrc):

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

Installazione PIL: (Sembra che la mia l'installazione è legata contro libjpeg, in modo da installare che prima)

brew install jpeg 
pip install pil 

ci si va.

+2

GAE richiede Python 2.5 – systempuntoout

3

Dare Pillow una prova.

pip install Pillow 

... e il gioco è fatto.

+0

ha funzionato perfettamente per me - grazie :) –

2

Ecco un altro metodo che non richiede macports o homebrew, ecc ... http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/

Si dice leopardo delle nevi nel titolo, ma funziona bene su Leopard (appena fatto questo). Parafrasato dall'articolo:

  1. Scarica jpegsrc.v8c.tar.gz o l'ultima da http://www.ijg.org/files/
  2. estratto jpegsrc e dall'interno di quella directory:

    export CC = "gcc -arch i386"
    ./configure
    fanno
    sudo make install

  3. Scarica ed estrarre PIL e dall'interno della directory PIL

    sudo python setup.py install

Questo sembra funzionare per me quindi spero che aiuti qualcun altro.

Ci scusiamo per il fatto che la formattazione è un po 'strana ma ho qualche problema con l'editor.

+1

Questo ha funzionato anche per me - OSX 10.7.2 – a1phanumeric

2
sudo port install py27-pil 
pip install pil 
0

ho avuto python2.7 e PIL installato per un lungo periodo (utilizzando MacPorts) e ho usato con successo nel lavoro non-app-motore. App Engine non è riuscito a caricarlo e registrato il seguente messaggio:

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

Ispirato @ di DaveGallagher commento di cui sopra circa MacPorts installano in/opt/local/..., ho capito che non correvo il pitone destra. In "Google App Engine Launcher", in "Preferenze ...", ho cambiato "Python Path" per

/opt/local/bin/python2.7

Ora, quando corro, che trova PIL e il servizio funziona immagini.

ps. sto eseguendo GAE Launcher 1.8.2.978.