Comment installer matplotlib sur OS X?


19

Je souhaite installer matplotlib sur OS X. Si possible, en utilisant homebrew.

J'ai installé Python 2.7.1 en utilisant brew install python, j'ai modifié mon chemin pour l'utiliser
J'ai installé pip en utilisant brew install pip
J'ai installé numpy 1.5.1 en utilisant pip install numpy
J'ai installé scipy 0.8.0 en utilisantpip install scipy

C'est là que ça devient poilu. pip install matplotlibva récupérer la mauvaise version de matplotlib , qui est incompatible avec la version récente de numpy.

La solution consiste à récupérer manuellement la bonne version de matplotlib:

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

Mais , cette version ne parvient pas à compiler car elle ne peut pas trouver les en-têtes freetype:

Dans le fichier inclus depuis src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: erreur: ft2build.h: Aucun fichier ou répertoire de ce type

Ces en-têtes sont en fait installés dans /usr/X11/includele cadre des outils de développement X11.

Alors, comment puis-je faire en sorte que matplotlib utilise ces en-têtes?


Essayé brew install freetype?
ismail

Ouais. Ce package n'est pas disponible. Il existe cependant une formule sur github qui le fournit. N'aide pas, cependant.
bastibe

1
brew install freetypea travaillé pour moi à partir du 7 novembre 2012
drootang

Réponses:


18

Le problème est que lorsque les extensions C sont compilées, les fichiers d'en-tête requis ne se trouvent pas dans le chemin de recherche et lorsqu'ils sont liés, les bibliothèques partagées ne se trouvent pas non plus dans le chemin de recherche.

Ce qui suit a fonctionné pour moi:

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

12

La réponse est simple: vous devez avoir pkg-infoinstallé sinon vous setup.pyne pourrez pas trouver les bibliothèques installées.


1
Comment installe-t-on pkg-info?
bradley.ayers

@bradleybrew install pkg-info
bastibe

7
En fait, je pense que ça devrait être le pkg-configcas brew install pkg-config. Et ne l'oubliez pas non brew linkplus.
noio

J'ai installé pkg-config, mais cela n'a pas fonctionné. La solution bradley.ayers a fonctionné pour moi.
schlamar

Assurez-vous que le fichier freetype2.pc est dans un emplacement que pkg-config sait lire
drootang

3

J'ai suivi les instructions de cette page . Je suis resté coincé

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

Ensuite, j'ai fait:

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

Vérifié mon installation en tapant terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

J'ai la version 1.1.0 (au moment de la rédaction de cet article) et le chemin / usr / local / Cellar / ...


À partir d'aujourd'hui, Matplotlib devrait être à la version 1.0.1. J'ai en fait écrit quelque chose à ce sujet ici . Vous y trouverez peut-être des informations utiles.
bastibe

Désolé, c'est une faute de frappe. Je voulais dire 1.1.0.
David Xia

3

Alternativement, vous pouvez utiliser MacPorts ou Fink . Avec MacPorts, ce serait

sudo port install py27-matplotlib

qui résout les dépendances automatiquement.

Personnellement, j'ai utilisé Macports pour installer python2.7 avec matplotlib et cela semble fonctionner correctement sur 10.7. Fink est en train de mettre à niveau ses composants internes pour fonctionner avec le nouveau système de build 10.7.


1
Personnellement, je préfère Homebrew à MacPorts ou Fink car il repose sur des bibliothèques système et est beaucoup plus piratable. Si vous ne vous en souciez pas, l'utilisation de MacPorts ou de Fink est probablement la solution la plus simple.
bastibe

3

La réponse est qu'il n'y a pas de bibliothèque freetype. il suffit de le brasser:

brew install freetype

brew install freetype -> Erreur: Aucune formule disponible pour freetype. Le nom a-t-il changé?
Tom

1
brew install freetypeinstalle libpngaussi.
LWZ

1

avec OS X 10.10.3 je l'ai corrigé avec ces commandes

brew install freetype libpng pkg-config

pkg-config a résolu le problème!

Après avoir lu ce numéro, je parviens à le corriger


1

Même problème avec macports. Fixé avec:

sudo port install pkgconfig

comme l'a suggéré noio pour le brassage ci-dessus.



0

De nos jours, le moyen le plus simple est probablement d' conda install matplotlibutiliser le condagestionnaire de paquets par continuum analytics.

Notez que vous pouvez installer et utiliser condasans avoir à utiliser la distribution complète d'Anaconda. Juste pip install conda, conda initet vous êtes prêt à partir.


0

J'ai écrit cette même réponse ici mais je pense que cela peut être d'un certain intérêt dans cette discussion.

Je dois installer matplotlib sur OSX 10.10 en lisant https://github.com/matplotlib/matplotlib/pull/3713 .
Ce n'est pas une solution pour les utilisateurs de pip; juste un moyen d'installer matplotlib sur mon mac en attendant un correctif.

J'ai téléchargé des sources pour matplotlib 1.4.2,
changé la ligne 960 dans setupext.py comme décrit dans https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

devient

'freetype2', 'freetype2/ft2build.h'

puis compilé et installé avec:

python setup.py build
python setup.py install
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.