2011-12-20 18 views
5

Desidero eseguire python ndimage per eseguire alcune analisi dell'immagine. Ho un Mac a 64 bit con OSX Lion e Python 2.7. Quando ho provato a eseguire i comandi dai comandi ndimage ho scoperto che ho bisogno di installare PIL.Installazione di PIL su OS X Lion (completo di noob)

L'ho scaricato e decompresso (per ora nella cartella dei download, c'è un posto migliore per farlo?). Corro setup.py ed ottengo questi messaggi:

running install 
running build 
running build_py 
running build_ext 
--- using frameworks at /System/Library/Frameworks 
building '_imaging' extension 
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.6-intel-2.7/_imaging.o 
unable to execute gcc-4.2: No such file or directory 
error: command 'gcc-4.2' failed with exit status 1 

ho letto Failed to build PIL on Mac OS X 10.7 Lion e fatto in modo che io ho la versione 32/64 bit di python 2.7 installato (Mac OS X a 64 bit/32-bit x86-64/I386 Installer (2.7.2) per Mac OS X 10.6 e 10.7). Ho anche installato Xcode. Sto facendo qualcosa di stupido qui?

Edit 1: guardando più, ho trovato questo gcc-4.2 failed with exit status 1. Ho provato a entrare in questo quando ottengo l'errore:

llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.6-intel-2.7/_imaging.o 

e ottengo questi messaggi:

_imaging.c:3017: warning: initialization from incompatible pointer type 
_imaging.c:3077: warning: initialization from incompatible pointer type 
_imaging.c:3017: warning: initialization from incompatible pointer type 
_imaging.c:3077: warning: initialization from incompatible pointer type 

Edit 2: Non sono sicuro se questo è il modo giusto per vado, ma ho trovato un post on installing pil on OSX Leopard e, seguendo i suoi consigli, sono liberato della -arch i386 parte del comando e inserito:

llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.6-intel-2.7/_imaging.o 

Ora ho solo due errori:

_imaging.c:3017: warning: initialization from incompatible pointer type 
_imaging.c:3077: warning: initialization from incompatible pointer type 

Da quello che posso dire a questo punto il programma poppe fuori e non finisce la compilazione. Qualcuno può aiutarmi a portarlo da qui?

+0

hai creato un link simbolico come l'utente che ha postato su gcc? –

+0

grazie per la risposta. Ho provato ad andare alla cartella sviluppatore e inserendo 'ln -s llvm-gcc-4.2 gcc-4.2' se questo è ciò che intendi – user1108470

+0

usa l'apice per l'escape (anche se non penso che ti dia delle newline in Commenti). Non ho accesso a un mac, quindi sto solo facendo ipotesi plausibili. Quindi ora la compilazione muore ancora una volta? –

risposta

0

Ho avuto un ottimo successo con il pacchetto MacPorts Python Imaging Library (PIL), Pandas, Numpy e altri pacchetti di analisi numerica su Lion e Mountain Lion.

Recentemente ci sono stati alcuni aggiornamenti significativi con gcc per l'integrazione con gli ultimi moduli Python numerici su MacPorts. Sembrava uno sforzo molto significativo. Raccomando MacPorts a meno che non siate determinati a eseguire l'hash attraverso un'installazione nativa di PIL su Lion.

0

Ho avuto problemi di compilazione con PIL con Mountain Lion e python 2.7. Ho usato Pillow invece, è un'amichevole forcella PIL con supporto per piattaforme più ampio.

regardins le vostre domande di impostazione:

  • Io uso macports per Python 2.7 e altre cose open source sul mio Mac (libpng, libjpeg, ecc per il cuscino)
  • virtualenv per la creazione di un ambiente di pitone virtuali (venv sarà integrato in python 3.3)
  • ho messo il codice sorgente sotto ~/src (cartella invece Download)