wake-up-neo.net

MatplotLib in Mac OSX Lion installieren

Ich habe versucht, Matplotlib in Mac OSX Lion zu installieren. Ich habe versucht, die Binärdatei in der Sourcefourge-Site zu verwenden, aber ich habe folgende Fehlermeldung erhalten: "matplotlib erfordert System Python 2.7 zur Installation".

Ich ging zum Terminal und tippte python --version ein und überprüfte die Anforderungen.

Danach habe ich versucht, den Pip zu benutzen, und dabei wurde folgender Fehler angezeigt:

"src/_image.cpp: 908: Fehler: ungültige Verwendung des unvollständigen Typs" struct png_info_def ""

Können Sie mir Hinweise zur Installation geben?

Danke vielmals.

EDIT: Ich habe einen Weg gefunden, ohne eine neue Version von Python installieren zu müssen:

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

18
nunolourenco

Sie können es mit einer "offiziellen" Python-Distribution versuchen, die von Apple möglicherweise angepasst wurde. Sie finden das 2.7 hier: http://www.python.org/download/ Möglicherweise müssen Sie numpy auch nachträglich neu installieren: http://sourceforge.net/ projects/numpy/files/NumPy/1.6.1/

Ich würde auch vorschlagen, scipy zu installieren Lass es mich wissen, wenn es funktioniert;)

4
purpleshift

Dies liegt an einer Änderung der API für libpng v1.5 (die in Mac OSX Lion enthalten ist). Die Änderungen wurden bereits in den Upstream übertragen, sodass Sie bis zur nächsten Version aus dem Upstream-Repository kompilieren müssen.

Sie können den Anweisungen auf http://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/ - folgen.

9
Prashanth

Ich habe die Anweisungen dieser Seite befolgt . Ich habe mich festgefahren 

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

Dann habe ich gemacht:

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

Meine Installation durch Eingabe des Terminals überprüft:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Ich habe Version 0.10.0 dev (zum Zeitpunkt der Veröffentlichung) und Pfad/usr/local/Cellar/...

5
David Xia

Ich würde die Verwendung von macports empfehlen, es sollte sich um Abhängigkeiten kümmern und wäre unabhängig von der System-Python-Version.

EDIT: Nur ein paar Klarstellungen unter Berücksichtigung der Kommentare zu dieser Antwort.

Warum macports (oder ein anderes Installationsprogramm) verwenden? Da sie sich um Abhängigkeiten kümmern, sollten Sie Funktionen zum Deinstallieren und Wechseln zwischen Versionen bereitstellen (ich habe letztere erfolgreich für gcc und python verwendet). Und weil der Standardinstallationspfad nicht der ausführbare Speicherort des Systems ist. Durch das Überschreiben des Systems kann Python dazu führen, dass Anwendungen, die sich darauf verlassen, beschädigt werden (dies gilt sicherlich für viele Linux-Distributionen, weniger für Mac OS X). 

Wann ist es besonders nützlich? Wenn Sie eine Python-Version installieren möchten, die sich von System-Python unterscheidet, und wenn Sie über Nicht-Python-Erweiterungen verfügen (C, C++, Fortran ...).

Was ist der Nachteil? Wie @Trond in den Kommentaren erwähnt hat, ist es gut, wenn Sie mit Standardkompilierungen von Paketen zufrieden sind. Sie haben keine Möglichkeit, Konfigurations- oder Compiler-Flags zu behandeln, wie Sie es von Source aus tun würden.

Eine gute Alternative zu Macports ist fink , was Ihnen scheinbar mehr Kontrolle gibt (Build from source). Ich bin mir nicht sicher, ob es für Mac OS X Lion bereits vollständig bereit ist.

3
juanchopanza

Ich weiß, dass dies viel mehr Zeit in Anspruch nehmen wird, aber ich würde die Installation von Python, Numpy und Matplotlib aus dem Quellcode empfehlen, um sicherzustellen, dass Ihr System konsistent ist. Aufgrund des Fehlers könnte es so aussehen, als hätten Sie ein Problem mit der libPNG-Unterstützung. Ich habe ein " Wie installiert man Python-Entwickler-Tools unter Mac OSX ", das Sie als nützlich erachten können. Es enthält Anweisungen zur Installation von Python, Numpy, Matplotlib und allen erforderlichen Abhängigkeiten. Ich verstehe, dass Sie mit Python 2.7 arbeiten und die Anweisungen, die ich hier aufführe, für Python 2.6.5 gelten, aber es wäre der gleiche Ansatz. Ich hoffe, du bekommst es zur Arbeit. 

1

Sie können einfach die Python 2.6-Version von Matplotlib installieren, vorausgesetzt, dass Python2.6 in Lion enthalten ist (py2.5 & 2.6 sind in Mac OS 10.6 "Snow Leopard" enthalten. Versuchen Sie, python2.6 einzugeben. um herauszufinden, ob diese Version installiert ist.). 

Auf MacPorts tun Sie dies über etwas wie:

Sudo port install py26-matplotlib

dabei gibt py26 -... (oder py25 -..., py27 -... usw.) an, für welche Python-Version es gedacht ist. (Überprüfen Sie die Pallet/ports-Liste, um den korrekten Paketnamen zu erhalten, falls ich falsch geraten habe.)

0
Demis