Wie installiere ich matplotlib unter OS X?

19

Ich möchte matplotlib unter OS X installieren. Wenn möglich, mit Homebrew.

Ich habe Python 2.7.1 mit installiert brew install python. Ich habe meinen Pfad dahingehend geändert.
Ich habe pip mit brew install pip
installiert. Ich habe numpy 1.5.1 mit pip install numpy
installiert. Ich habe scipy 0.8.0 mit installiertpip install scipy

Hier wird es haarig. pip install matplotlibwird die falsche Version von matplotlib holen , die mit der jüngsten Version von numpy unvereinbar ist.

Die Lösung besteht darin, die richtige Version von matplotlib manuell abzurufen:

pip install -f http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz matplotlib

Aber , nicht diese Version zu kompilieren , da es nicht die Freetype - Header finden:

In der Datei aus src / ft2font.cpp enthalten: 1:
src / ft2font.h: 14: 22: Fehler: ft2build.h: Keine solche Datei oder Verzeichnis

Diese Header werden tatsächlich /usr/X11/includeals Teil der X11-Entwicklertools installiert .

Wie kann ich matplotlib veranlassen, diese Header zu verwenden?

Bastibe
quelle
Versucht brew install freetype?
Ismail
Ja. Dieses Paket ist nicht verfügbar. Es gibt jedoch eine Formel auf Github, die es bietet. Hilft aber nicht.
Bastibe
1
brew install freetypearbeitete für mich am 7. November 2012
Drootang

Antworten:

18

Das Problem ist, dass beim Kompilieren der C-Erweiterungen die erforderlichen Header-Dateien nicht im Suchpfad enthalten sind und wenn sie verknüpft werden, freigegebene Bibliotheken ebenfalls nicht im Suchpfad enthalten sind.

Folgendes hat für mich funktioniert:

export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12"
pip install matplotlib-1.0.1.tar.gz
bradley.ayers
quelle
12

Die einfache Antwort lautet: Sie müssen pkg-infoinstalliert haben oder setup.pykönnen installierte Bibliotheken nicht finden.

Bastibe
quelle
1
Wie installiert man pkg-info?
Bradley.ayers
@ Bradleybrew install pkg-info
Bastibe
7
Eigentlich denke ich sollte es pkg-configso sein brew install pkg-config. Und vergessen Sie brew linkes auch nicht.
noio
Ich hatte pkg-config installiert, aber es hat nicht funktioniert. Die Lösung von bradley.ayers hat bei mir funktioniert.
Schlamar
Stellen Sie sicher, dass sich die Datei freetype2.pc an einem Speicherort befindet, den pkg-config lesen kann
drootang
3

Ich habe die Anweisungen auf dieser Seite befolgt . Ich bin 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

Überprüfte meine Installation durch Eingeben des Terminals:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Ich habe Version 1.1.0 (zum Zeitpunkt dieses Schreibens) und Pfad / usr / local / Cellar / ...

David Xia
quelle
Ab heute sollte Matplotlib die Version 1.0.1 haben. Ich schrieb tatsächlich etwas über diese hier . Vielleicht finden Sie dort einige nützliche Informationen.
Bastibe
Sorry, das ist ein Tippfehler. Ich meinte 1.1.0.
David Xia
3

Alternativ können Sie auch MacPorts oder Fink verwenden . Bei MacPorts wäre dies der Fall

sudo port install py27-matplotlib

Dadurch werden die Abhängigkeiten automatisch aufgelöst.

Persönlich habe ich Macports verwendet, um python2.7 mit matplotlib zu installieren, und es scheint auf 10.7 gut zu funktionieren. Fink rüstet gerade seine internen Komponenten auf das neue 10.7-Build-System um.

Tim
quelle
1
Ich persönlich bevorzuge Homebrew gegenüber MacPorts oder Fink, da es auf Systembibliotheken basiert und weitaus hackbarer ist. Wenn Ihnen das egal ist, ist die Verwendung von MacPorts oder Fink wahrscheinlich die einfachste Lösung.
Bastibe
3

Die Antwort ist, dass es keine Freetype-Bibliothek gibt. einfach nur brauen:

brew install freetype
Zhengyang Liu
quelle
Brew Install Freetype -> Fehler: Keine Formel für Freetype verfügbar. Hat sich der Name geändert?
Tom
1
brew install freetypeinstalliert libpngauch.
LWZ
1

mit OS X 10.10.3 habe ich es mit diesen Befehlen behoben

brau installiere freetype libpng pkg-config

pkg-config hat das Problem behoben!

Nachdem ich dieses Problem gelesen habe, kann ich es beheben

llazzaro
quelle
1

Gleiches Problem mit Macports. Behoben mit:

sudo port install pkgconfig

wie noio oben zum brauen vorgeschlagen.

Sam Inverso
quelle
0

Heutzutage ist der einfachste Weg wahrscheinlich die conda install matplotlibVerwendung des condaPaketmanagers durch Continuum Analytics.

Beachten Sie, dass Sie installieren und verwenden können, condaohne die vollständige Anaconda-Distribution verwenden zu müssen. Just pip install conda, conda initund Sie können loslegen.

Bastibe
quelle
0

Ich habe die gleiche Antwort hier geschrieben, aber ich denke, dass dies für diese Diskussion von Interesse sein kann.

Ich muss matplotlib unter OSX 10.10 installieren und lese https://github.com/matplotlib/matplotlib/pull/3713 .
Dies ist keine Lösung für Pip-Benutzer. Nur eine Möglichkeit, matplotlib auf meinem Mac zu installieren und auf einen Fix zu warten.

Ich habe Quellen für matplotlib 1.4.2 heruntergeladen und
Zeile 960 in setupext.py geändert, wie in https://github.com/matplotlib/matplotlib/pull/3713/files beschrieben :

'freetype2', 'ft2build.h',

wurde

'freetype2', 'freetype2/ft2build.h'

und dann kompiliert und installiert mit:

python setup.py build
python setup.py install
karlacio
quelle