2010-11-04 30 views
18

Sto cercando di installare matplotlib per le applicazioni grafiche in Python su Mac OS X. Quando eseguo "python setup.py install", mi dà questo carico di errori: http://pastebin.com/u7fL37ic.Impossibile installare matplotlib su Mac OS X

Un rapido frammento:

src/ft2font.cpp:2170: error: ‘FT_LOAD_TARGET_MONO’ was not declared in this scope 
src/ft2font.cpp:2171: error: ‘FT_LOAD_TARGET_LCD’ was not declared in this scope 
src/ft2font.cpp:2172: error: ‘FT_LOAD_TARGET_LCD_V’ was not declared in this scope 
src/ft2font.cpp:2175: error: ‘_ft2Library’ was not declared in this scope 
src/ft2font.cpp:2175: error: ‘FT_Init_FreeType’ was not declared in this scope 
src/ft2font.cpp: In destructor ‘virtual ft2font_module::~ft2font_module()’: 
src/ft2font.cpp:2186: error: ‘_ft2Library’ was not declared in this scope 
src/ft2font.cpp:2186: error: ‘FT_Done_FreeType’ was not declared in this scope 
lipo: can't figure out the architecture type of: /var/folders/Nj/Njnlp9qSF64sMESWcaDnk++++TI/-Tmp-//cchyYmM5.out 
error: command 'gcc-4.0' failed with exit status 1 

ho installato freetype utilizzando MacPorts, e ho pensato che sarebbe risolvere il problema, ma senza fortuna. Mi dà lo stesso errore di prima. Sembra che non riesce a trovare i file FreeType destra:

BUILDING MATPLOTLIB 
     matplotlib: 1.0.0 
      python: 2.6.5 (r265:79359, Mar 24 2010, 01:32:55) [GCC 
        4.0.1 (Apple Inc. build 5493)] 
      platform: darwin 
REQUIRED DEPENDENCIES 
      numpy: 1.5.0 
     freetype2: found, but unknown version (no pkg-config) 
        * WARNING: Could not find 'freetype2' headers in any 
        * of '.', './freetype2'. 

Dove devo mettere i file FreeType in modo che possano essere trovati? In questo momento sono in/opt/local/lib

Qualche idea?

+0

RIP John D. Hunter - autore di matplotlib. È così triste sapere che è morto. http://matplotlib.org/ – user391339

risposta

1

si può anche considerare l'utilizzo della distribuzione Enthought (che viene anche gratuito per uso non commerciale) Viene completamente installato senza alcuna difficoltà http://www.enthought.com/products/getepd.php (non ho alcun rapporto con Enthought di sorta - Sono solo un utente soddisfatto)

+0

Peccato che questa sia una risposta come risposta perché semplicemente non risponde alla domanda ... vedi risposta sotto da @mhowison – Christophe

4

Prova le istruzioni here. Le mie note here.

+0

Questo non ha funzionato per me - penso che il suo b/c sto usando una versione di python installata in/usr/local (tramite brew) ... probabilmente funziona per il python standard ho installato con OSX Snow Leopard. – dsummersl

3

Ecco come ho fatto:

$ sudo make -f make.osx fetch deps mpl_build mpl_install 

Questo installerà in /lib/python2.6/site-packages, basta spostare il suo contenuto /Library/Python/2.6/site-packages/ per coerenza.

+0

Hey, ho provato a farlo e ho ricevuto questo errore: IOError: [Errno socket error] [Errno 51] Network is irraggiungibile fare: *** [recupero] Errore 1 Pensieri? – tchaymore

+1

nessuna connessione di rete? – rytis

7

Recentemente mi è stato assegnato un nuovo computer di lavoro (MacBook Pro OS 10.6.5) e volevo installare numpy + scipy + matplotlib in un ambiente virtuale Python. Non sono un esperto, ma l'ambiente virtuale sembra consentire di installare pacchetti tali da essere isolati dai pacchetti di sistema, essenzialmente ridefinendo il percorso del sistema in modo intelligente. Quindi, per un progetto a cui sto lavorando richiede certe versioni di questi pacchetti, posso installarli una volta e fare tutto il mio lavoro per quel progetto lì, indipendentemente dalle altre modifiche che faccio al di fuori dell'ambiente.

Dopo un sacco di tentativi ed errori, sono stato in grado di creare un ambiente virtuale con Numpy 1.5.1, Scipy 0.8.0 e Matplotlib 1.0.0 tutti perfettamente funzionanti. Ecco come:

In primo luogo, installare i seguenti quattro pacchetti:

  • freetype-2.4.4
  • libpng, la versione 1.4.5 trovato alla http://ethan.tira-thompson.org/Mac_OS_X_Ports.html. L'installazione di matplotlib non è riuscita quando ho provato a installare 1.5.0 dalla sorgente!
  • pkg-config, versione 0.23
  • virtualenv per python2.6

(io sono un nuovo utente, quindi non posso postare link a queste, sorry!).

Se si installa dai sorgenti, utilizzare uno standard di installazione:

  • $./ configurare
  • $ rendono
  • $ sudo make install

Avanti, scaricare i file di origine per NumPy, SciPy e matplotlib.

Ora è il momento di creare un ambiente virtuale in TESTENV cartella:

$ virtualenv/path/to/dir/TESTENV

Attivare l'ambiente virtuale:

$ fonte./percorso/per/dir/TESTENV/bin/activate

Ora, i pacchetti python verranno installati all'interno di TESTENV come se fosse la directory di installazione di root. Che cosa ha funzionato per me è stato quello di eseguire:

$ python setupegg.py install

nelle cartelle NumPy, SciPy, e fonte matplotlib (in questo ordine).

Spero che questo aiuti!

+0

http://pypi.python.org/pypi/virtualenv – user391339

2

Consiglio vivamente il StrongInference Scipy Superpack. Funziona con il Python fornito da Apple in dotazione su 10.6 Snow Leopard, e ora funziona con 10.9. È intuitivo per le installazioni a 32 e 64 bit. Non richiede l'installazione di una distribuzione Python separata o di gestori di pacchetti come Macports o Fink.

Usalo prima scaricando lo script della shell da this page. Poi:

sh superpack_10.6_2011.03.07.sh 

O sostituire superpack_10.6_2011.03.07.sh con il nome delle ultime script di shell come aggiornare di volta in volta.

Per utilizzarlo, assicurati di aver digitato ipython e non python!

+0

Gli utenti di Superpack StrongInference hanno aggiornato anche il loro script per Lion. –

+0

Denis, ho corretto il collegamento interrotto (la pagina spostata). Grazie! –

1

Ho seguito questo page's instructions. Sono rimasto bloccato a

pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev 

poi ho fatto:

git clone https://github.com/matplotlib/matplotlib.git 
cd matplotlib 
python setup.py build 
python setup.py install 

controllato la mia installazione digitando nel terminale:

python 
import matplotlib 
print matplotlib.__version__ 
print matplotlib.__file__ 

Ho versione 0.10.0 dev (al momento della stesura) e percorso/usr/local/Cellar/...

1

Mi piace usare l'infuso e nessuna delle prime tre spiegazioni funzionava o erano entici a me. Tuttavia, ho guardato un po 'di più, e ho trovato questo infuso spiegazione amichevole e soluzione:

http://jholewinski.org/blog/installing-matplotlib-on-os-x-10-7-with-homebrew/

Sommario: libpng su Snow Leopard non è in buoni rapporti con matplotlib.È possibile installare manualmente il matplotlib non-rilasciato a lavorare intorno ad esso:

brew install python 
brew install gfortran 
brew install pkg-config 
easy_install pip 
pip install numpy 
git clone https://github.com/matplotlib/matplotlib.git 
cd matplotlib 
python setup.py build 
python setup.py install 
2

ho avuto un errore simile - vi state perdendo i file di sviluppo per libfreetype - sulla mia macchina linux - questo è libfreetype6-dev

Dopo aver installato questo pip, è stato fatto.

33

La radice del problema è che freetype e libpng sono installati in posizioni non canoniche da XCode, in/usr/X11 invece di/usr o/usr/local.

Tutte le risposte già fornite risolvono il problema ricostruendo freetype e libpng, manualmente o utilizzando un gestore di pacchetti come homebrew.

È possibile, tuttavia, ottenere matplotlib compilare semplicemente un collegamento simbolico i/intestazioni libpng FreeType esistenti e le librerie in/usr/albero locale con:

sudo mkdir -p /usr/local/include 
sudo ln -s /usr/X11/include/freetype2/freetype /usr/local/include/freetype 
sudo ln -s /usr/X11/include/ft2build.h /usr/local/include/ft2build.h 
sudo ln -s /usr/X11/include/png.h /usr/local/include/png.h 
sudo ln -s /usr/X11/include/pngconf.h /usr/local/include/pngconf.h 
sudo ln -s /usr/X11/include/pnglibconf.h /usr/local/include/pnglibconf.h 
sudo mkdir -p /usr/local/lib 
sudo ln -s /usr/X11/lib/libfreetype.dylib /usr/local/lib/libfreetype.dylib 
sudo ln -s /usr/X11/lib/libpng.dylib /usr/local/lib/libpng.dylib 

preferisco costruire pacchetti python con il seme, così vorrei quindi utilizzare:

sudo pip install matplotlib 

Se non si dispone già di pip, è possibile installarlo con easy_install (che viene fornito con OS X):

sudo easy_install pip 

L'ho provato solo su 10.7 (Lion) ma ho il sospetto che funzionerà anche con 10.6.

È un po 'un trucco, ma ho trovato che sia il modo più semplice per installare matplotlib installato sul framework python originale fornito con OS X. Il framework di python standard in 10.7 è in realtà piuttosto buono, e comprende, per esempio, un pacchetto NumPy-1.5.1 che è collegato contro libreria BLAS ottimizzato di Apple (Accelerate):

dyldinfo -dylibs /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/linalg/lapack_lite.so 
for arch x86_64: 
attributes  dependent dylibs 
      /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
      /usr/lib/libSystem.B.dylib 
+0

questo è l'unico modo da cui ho provato che ha funzionato per me (non voglio pagare per EPD), grazie! – vasek1

+7

AGGIORNAMENTO: in OS X Mountain Lion (10.8), X11 non viene più installato per impostazione predefinita e occorre installare XQuartz (consultare support.apple.com/kb/HT5293). La buona notizia è che ho trovato un modo ancora più semplice per installare matplotlib senza creare collegamenti simbolici in/usr/local. Se hai installato pkg-config (ad esempio tramite homebrew), esegui "sudo PKG_CONFIG_PATH =/opt/X11/lib/pkgconfig pip install matplotlib" che preleverà le dipendenze corrette (libpng, freetype) da XQuartz tramite pkg-config. – mhowison

+0

Il metodo precedente (con 'PKG_CONFIG_PATH') non ha funzionato per me su 10.8.4. –

8

Vecchio, ma ancora spuntato nella mia ricerca quando ho avuto lo stesso problema su Snow Leopard .

Hai detto che stava utilizzando homebrew, quindi è necessario

brew link freetype 

dopo l'installazione (con "birra installare freetype").

Questo ha superato questo errore. Ho fatto la stessa cosa con libpng, che ha portato a un'installazione di successo.

2

Ogni volta che eseguo matplotlib ci sto lavorando. La mia soluzione:

export CFLAGS=-I/usr/X11/include/freetype2 
python setup.py install 
3

Avevo lo stesso problema quando provavo a installare matplotlib. Dopo aver provato alcune delle soluzioni di cui sopra, ho appena eseguito

brew install freetype 

quindi, l'installazione è andata bene fino a quando non si è imbattuto in un png.h non trovato. Ho eseguito

brew install libpng 

L'installazione terminata e matplotlib è stata installata.

(on os X 10.8.4)

+0

Questo è il modo più semplice per farlo. Funziona bene anche su 10.9. –

1

Prova freetype2 un collegamento simbolico a freetype:

ln -s /usr/local/opt/freetype/include/freetype2/ /usr/local/include/freetype 
0

ero in grado di farlo funzionare senza modificare il mio PATH ecc Sembra che il mio problema era la biblioteca freetype (installato con birra) non essere trovato quando utilizzando un pitone non-brew

brew install python 
brew install freetype 
# maybe more dependencies 

Quindi creare un virtualenv utilizzando il pitone birra (senza specificare esplicitamente il percorso del pitone birra ho scoperto che il virtualenv birra sarebbe ancora utilizzare l'OSX/usr/bin/python di default) :

/usr/local/bin/virtualenv -p /usr/local/bin/python env 
source env/bin/activate 
pip install matplotlib 
Problemi correlati