2010-11-04 6 views
18

Ich versuche, Matplotlib für Grafik-Anwendungen in Python unter Mac OS X zu installieren. Wenn ich "python setup.py installieren", gibt es mir diese Last von Fehlern: http://pastebin.com/u7fL37ic.Kann nicht installiert werden matplotlib unter Mac OS X

Ein kurzer Auszug:

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 

Ich installierte Freetype MacPorts verwenden, und ich dachte, das würde das Problem beheben, aber kein Glück. Gibt mir denselben Fehler wie zuvor. Es sieht aus wie es nicht die richtigen Dateien Freetype finden:

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

Wo soll ich die Freetype-Dateien setzen, damit sie gefunden werden können? Jetzt sind sie in/opt/local/lib

Irgendwelche Ideen?

+0

RIP John D. Hunter - Autor von Matplotlib. So traurig zu hören, dass er verstorben ist. http://matplotlib.org/ – user391339

Antwort

1

Sie auch die Enthought Verteilung mit (die für nicht-kommerzielle Nutzung sogar kostenlos kommt) betrachten kann Es völlig ohne Schwierigkeiten installiert kommt http://www.enthought.com/products/getepd.php (I keine Beziehung zu Enthought haben auch immer - ich nur ein zufriedener Benutzer bin)

+0

Schade, dass dies als Antwort überprüft wird, weil es einfach nicht die Frage beantwortet ... siehe Antwort unten von @mhowison – Christophe

4

Probieren Sie die Anweisungen here. Meine Notizen here.

+0

Dies funktionierte nicht für mich - ich denke, dass b/c Ich benutze eine Version von Python in/usr/local installiert (über brauen) ... funktioniert wahrscheinlich für die Standard-Python mit OSX Snow Leopard installiert, rate ich. – dsummersl

3

Hier ist, wie ich es tat:

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

Dieses es in /lib/python2.6/site-packages zu installieren, nur um seinen Inhalt /Library/Python/2.6/site-packages/ für Konsistenz bewegen.

+0

Hey, versucht, dies ausgeführt und habe diesen Fehler: IOError: [Errno Socket-Fehler] [Errno 51] Netzwerk ist unerreichbar make: *** [fetch] Fehler 1 Gedanken? – tchaymore

+1

keine Netzwerkverbindung? – rytis

7

Ich habe kürzlich einen neuen Arbeitscomputer (MacBook Pro OS 10.6.5) erhalten und wollte numpy + scipy + matplotlib in einer virtuellen Python-Umgebung installieren. Ich bin kein Experte, aber die virtuelle Umgebung scheint es Ihnen zu ermöglichen, Pakete so zu installieren, dass sie von den systemweiten Paketen isoliert sind, im Wesentlichen durch eine intelligente Neudefinition des Systempfads. Für ein Projekt, an dem ich gerade arbeite, sind bestimmte Versionen dieser Pakete erforderlich. Ich kann sie einmal installieren und alle meine Arbeiten für dieses Projekt ausführen, unabhängig von anderen Änderungen, die ich außerhalb der Umgebung mache.

Nach vielen Versuchen konnte ich eine virtuelle Umgebung mit Numpy 1.5.1, Scipy 0.8.0 und Matplotlib 1.0.0 erstellen, die alle einwandfrei laufen. Hier ist, wie:

Installieren Sie zunächst die folgenden vier Pakete:

  • Freetype-2.4.4
  • libpng, Version 1.4.5 bei http://ethan.tira-thompson.org/Mac_OS_X_Ports.html gefunden. Die Installation von matplotlib ist fehlgeschlagen, als ich 1.5.0 von der Quelle installieren wollte!
  • pkg-config, Version 0.23
  • virtualenv für python2.6

(Ich bin ein neuer Benutzer, so kann ich keine Links zu diesen Posten, sorry!).

Wenn Sie von der Quelle installieren, verwenden Sie einen Standard installieren:

  • $./ Konfigurieren
  • $ machen
  • sudo $

Anschließend laden Sie die Quelldateien für numpy, scipy und matplotlib installieren zu machen.

Jetzt ist es Zeit, eine virtuelle Umgebung im Ordner TESTENV zu erstellen:

$ virtualenv/path/to/dir/TESTENV

Aktivieren Sie die virtuelle Umgebung:

$ source./path/to/dir/TESTENV/bin/activate

Jetzt werden Python-Pakete in TESTENV so installiert, als wäre es das Root-Installationsverzeichnis. Was für mich gearbeitet wurde, auszuführen:

$ python

in den numpy, scipy und matplotlib Quellordner (in dieser Reihenfolge) installieren setupegg.py.

Hoffe, dass hilft!

+0

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

2

Ich würde die StrongInference Scipy Superpack empfehlen. Es funktioniert mit dem integrierten Apple-Python auf 10.6 Snow Leopard, und dies funktioniert jetzt mit 10.9. Es ist sowohl für 32-Bit- als auch für 64-Bit-Installationen geeignet. Es ist nicht erforderlich, eine separate Python-Distribution oder Paket-Manager wie Macports oder Fink zu installieren.

Verwenden Sie es, indem Sie zuerst das Shell-Skript von this page herunterladen. Dann:

sh superpack_10.6_2011.03.07.sh 

Oder ersetzen superpack_10.6_2011.03.07.sh mit dem Namen des aktuellen Shell-Skript, wie sie es von Zeit zu Zeit aktualisieren.

Um es zu verwenden, stellen Sie sicher, dass Sie ipython und nicht Python eingeben!

+0

Die StrongInference Superpack-Leute haben ihr Skript für Lion aktualisiert. –

+0

Denis, Ich reparierte den gebrochenen Link (die Seite verschoben). Vielen Dank! –

1

Ich folgte dieser page's instructions. Ich habe bei stecken

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

Dann habe ich:

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

Auf meine Installation von im Terminal eingeben:

python 
import matplotlib 
print matplotlib.__version__ 
print matplotlib.__file__ 

I Version 0.10.0 dev bekam (zum Zeitpunkt des Schreibens) und Pfad/usr/local/Keller/...

1

Ich mag die Verwendung des Gebräus, und keiner der Top drei Erklärungen funktioniert oder wurden entici ng zu mir. Allerdings habe ich etwas mehr suchen, und fanden, dass dieses Gebräu freundliche Erklärung und Lösung:

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

Zusammenfassung: libpng auf Snow Leopard ist nicht freundschaftlich mit matplotlib.Sie können manuell den un-released matplotlib installieren um es an die Arbeit:

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

ich einen ähnlichen Fehler bekam - Sie die Entwicklungsdateien für libfreetype sind vermisst - auf meinem Linux-Maschine - das ist libfreetype6-dev

Nachdem ich diesen Pip installiert habe, war es Arbeit.

33

Die Wurzel des Problems ist, dass Freetype und libpng an nicht-kanonischen Orten von XCode in/usr/X11 statt/usr oder/usr/local installiert sind.

Alle bereits gegebenen Antworten behandeln das Problem, indem Sie freetype und libpng entweder manuell oder mit einem Paketmanager wie homebrew neu aufbauen.

Sie können jedoch erhalten matplotlib mit, indem Sie einfach ein SymLink die vorhandenen Freetype/libpng-Header und Bibliotheken in das Verzeichnis/usr/local Baum zu kompilieren:

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 

Ich ziehe es Python-Pakete mit pip zu bauen, so ich würde dann verwenden:

sudo pip install matplotlib 

Wenn Sie nicht bereits pip haben, können Sie es mit easy_install installieren können (die mit OS X kommt):

sudo easy_install pip 

Ich habe dies nur auf 10.7 (Lion) getestet, aber ich vermute, dass es auch mit 10.6 funktioniert.

Es ist ein bisschen ein Hack, aber ich habe herausgefunden, dass es der einfachste Weg ist, Matplotlib gegen das Stock Python Framework zu installieren, das mit OS X ausgeliefert wird. Das Stock Python Framework in 10.7 ist eigentlich ziemlich gut, und schließt zum Beispiel ein numpy-1.5.1-Paket, das gegen Apples optimierte BLAS-Bibliothek verknüpft ist (Beschleunigen):

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

Dies ist der einzige Weg, von dem ich versucht habe, dass es für mich funktioniert (will nicht für EPD bezahlen), danke! – vasek1

+7

UPDATE: In OS X Mountain Lion (10.8) wird X11 nicht mehr standardmäßig installiert und Sie müssen stattdessen XQuartz installieren (siehe support.apple.com/kb/HT5293). Die gute Nachricht ist, dass ich eine noch einfachere Möglichkeit gefunden habe, matplotlib zu installieren, ohne Symlinks in/usr/local zu erstellen. Wenn Sie pkg-config installiert haben (zum Beispiel über Homebrew), führen Sie "sudo PKG_CONFIG_PATH =/opt/X11/lib/pkgconfig pip install matplotlib" aus, das dann die korrekten Abhängigkeiten (libpng, freetype) von XQuartz über pkg-config übernimmt. – mhowison

+0

Die obige Methode (mit 'PKG_CONFIG_PATH') hat bei 10.8.4 nicht funktioniert. –

8

Alt, aber immer noch in meiner Suche tauchten auf, wenn ich das gleiche Problem auf Snow Leopard hatte .

Sie sagten, Sie homebrew verwendet haben, so müssen Sie

brew link freetype 

, nachdem es (mit "Gebräu installieren freetype") installieren.

Das ist durch diesen Fehler gekommen. Ich hatte dasselbe mit libpng gemacht, was zu einer erfolgreichen Installation führte.

2

Ich laufe jedes Mal, wenn ich Matplotlib baue. Meine Lösung:

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

Ich hatte das gleiche Problem beim Versuch, matplotlib zu installieren. Nachdem einige der oben genannten Lösung versucht, ich lief nur

brew install freetype 

dann die Installation gut ging, bis er in einen png.h lief nicht gefunden. Ich lief

brew install libpng 

Die Installation abgeschlossen und Matplotlib wurde installiert.

(auf X 10.8.4)

+0

Das ist der einfachste Weg, es zu tun. Funktioniert auch gut auf 10.9. –

1

Versuchen SymLink freetype2 zu freetype:

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

Ich konnte dies meinen PATH zur Arbeit kommen, ohne Modifizierung usw. Es scheint, mein Problem war die Freetype-Bibliothek (mit brauen installiert ist) nicht gefunden werden, wenn Verwendung eines nicht-Gebräu python

brew install python 
brew install freetype 
# maybe more dependencies 

erstellen Sie dann ein virtualenv das Gebräu mit python (ohne explizit den Pfad zu dem Gebräu python Angabe fand ich, dass das Gebräu virtualenv noch die Standard-OSX/usr/bin/python verwenden würde) :

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