Domanda

Stavo cercando di installare matplotlib in Mac OSX Lion. Cercato di utilizzare il binario che si trova nel sito sourcefourge, ma ho ottenuto questo errore:. "Matplotlib richiede sistema Python 2.7 per l'installazione"

Sono andato al Terminale e digitato python --version e la sua verifica dei requisiti.

Dopo questo ho cercato di utilizzare il PIP, e mentre così facendo é ottenuto il seguente errore:

"src / _image.cpp: 908: errore: Utilizzo non valido di tipo incompleto‘struct png_info_def’"

Mi può dare indizi su come installarlo?

Molte grazie.

EDIT: ho trovato un modo, senza dover installare una nuova versione di Python:

http://the.taoofmac.com/space/blog/ 2011/07/24/2222

È stato utile?

Soluzione

Si può provare con una distribuzione pitone "ufficiale", Apple potrebbe avere ottimizzato quello fornito. È possibile trovare il 2,7 qui: http://www.python.org/download/ Potrebbe essere necessario reinstallare NumPy così afterwords: http: // sourceforge. net / progetti / NumPy / files / NumPy / 1.6.1 /

Vorrei suggerire di installare SciPy pure Fatemi sapere se funziona;)

Altri suggerimenti

Questo è causa di un cambiamento nella API per libpng v1.5 (che è incluso con Mac OSX Lion). I cambiamenti sono già stati spinti a monte, quindi sarà necessario compilare dal repository monte fino alla prossima release.

È possibile seguire le istruzioni http://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/

ho seguito le istruzioni questa di pagina . 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 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 il percorso / usr / local / Cantina /...

Ti consiglio di utilizzare macports , si dovrebbe prendere cura delle dipendenze e sarebbe indepedent della versione del sistema python.

Modifica :. A pochi chiarimenti, tenendo conto dei commenti a questa risposta

Perché usare macports (o un altro programma di installazione)? Perché si prendono cura delle dipendenze, fornire funzionalità per disinstallare e passare tra le versioni (ho usato il secondo successo per gcc e python). E poiché il percorso di installazione di default non è la posizione eseguibile di sistema. Override il pitone sistema può spezzare le applicazioni che si basano su di esso (questo è certamente vero in molte distribuzioni Linux, forse meno così su Mac OS X).

Quando è particolarmente utile? Quando si desidera installare sulla cima di una versione di Python che è diverso da python sistema, e quando si hanno estensioni non-python (C, C ++, Fortran ...).

Qual è il lato negativo? Come @Trond ha accennato nei commenti, è un bene se si sta bene con compilation di default dei pacchetti. Non si dispone di una maniglia su flag di configurazione o del compilatore come si farebbe se hai costruito dai sorgenti.

Una buona alternativa al macports è fink , che sembra dare un maggiore controllo (build da sorgenti). Io non sono sicuro che è completamente pronto per Mac OS X Lion ancora.

Lo so che ci vorrà molto più tempo, ma io consiglierei l'installazione di pitone, NumPy, e matplotlib dalla sorgente alla assicurarsi di avere coerenza nel vostro sistema. Da l'errore che potrebbe sembrare di avere un problema con il supporto libPNG. Ho scritto un un " Come installare gli strumenti di pitone dev su Mac OSX " che si possono trovare utile. Esso contiene le indicazioni per come installare python, NumPy, matplotlib e tutte le dipendenze necessarie. Capisco che si sta lavorando con Python 2.7 e le istruzioni che sto elenco è per Python 2.6.5, ma sarebbe lo stesso approccio. Spero che farlo funzionare.

Si può solo installare la versione di Python 2.6 Matplotlib, partendo dal presupposto che python2.6 è incluso con Lion (py2.5 e 2.6 sono inclusi in Mac OS 10.6 "Snow Leopard" - prova a digitare python2. 6 per scoprire se è installata tale versione.).

In MacPorts si esegue questa via qualcosa come:

sudo port install py26-matplotlib

dove py26 -... (o py25 -..., py27 -... etc.) indica quale versione di Python è destinata. (Controllare l'elenco Pallet / porte per ottenere il nome del pacchetto corretto, nel caso in cui ho indovinato sbagliato)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top