web-dev-qa-db-fra.com

Installer MatplotLib dans mac osx lion

J'essayais d'installer matplotlib sous Mac OSX Lion. J'ai essayé d'utiliser le binaire qui se trouve sur le site sourcefourge, mais j'ai l'erreur suivante: "matplotlib nécessite l'installation de System Python 2.7".

Je suis allé au Terminal et ai tapé python --version et son contrôle des exigences.

Après cela, j’ai essayé d’utiliser le pip et j’ai eu l’erreur suivante:

"src/_image.cpp: 908: erreur: utilisation non valide du type incomplet 'struct png_info_def'"

Pouvez-vous me donner des indices sur la façon de l'installer?

Merci beaucoup.

EDIT: J'ai trouvé un moyen, sans avoir à installer une nouvelle version de python:

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

18
nunolourenco

Vous pouvez essayer avec une distribution "officielle" de Python, Apple pourrait avoir peaufiné celle fournie. Vous pouvez trouver la 2.7 ici: http://www.python.org/download/ Vous devrez peut-être réinstaller numpy également après le mot: http://sourceforge.net/ projets/numpy/files/NumPy/1.6.1/

Je suggérerais d'installer également scipy Dites-moi si cela fonctionne;)

4
purpleshift

Cela est dû à une modification de l'API pour libpng v1.5 (incluse dans Mac OSX Lion). Les modifications ont déjà été placées en amont. Vous devrez donc compiler à partir du référentiel en amont jusqu'à la prochaine version.

Vous pouvez suivre les instructions sur http://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/

9
Prashanth

J'ai suivi cette instructions de la page . Je me suis coincé à 

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

Puis j'ai fait:

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

J'ai vérifié mon installation en tapant dans le terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

J'ai la version 0.10.0 dev (à ce jour) et le chemin/usr/local/Cellar/...

5
David Xia

Je recommanderais d’utiliser macports , il devrait s’occuper des dépendances et serait indépendant de la version du système python.

EDIT: Juste quelques précisions, en tenant compte des commentaires de cette réponse.

Pourquoi utiliser macports (ou un autre installateur)? Parce qu'ils gèrent les dépendances, fournissez des fonctionnalités pour désinstaller et basculer entre les versions (j'ai utilisé cette dernière avec succès pour gcc et python). Et parce que l'emplacement d'installation par défaut n'est pas l'emplacement du fichier exécutable du système. Remplacer le système python peut endommager les applications qui en dépendent (ceci est certainement vrai dans de nombreuses distributions Linux, peut-être moins sur mac OS X). 

Quand est-ce particulièrement utile? Lorsque vous souhaitez installer une version de python différente de celle du système et que vous avez des extensions non-python (C, C++, Fortran, etc.).

Quel est le côté négatif? Comme @Trond l'a mentionné dans les commentaires, il est utile que les compilations de paquets par défaut soient acceptées. Vous ne possédez pas d'indicateur de configuration ou d'indicateur de compilation comme vous le feriez si vous aviez construit à partir du source.

Une bonne alternative aux macports est fink , qui semble vous donner plus de contrôle (construction à partir des sources). Je ne suis pas sûr qu'il soit complètement prêt pour Mac OS X Lion.

3
juanchopanza

Je sais que cela prendra beaucoup plus de temps, mais je recommanderais d'installer python, numpy et matplotlib à partir de la source pour garantir la cohérence de votre système. D'après l'erreur, il pourrait sembler que vous ayez un problème avec le support de libPNG. J'ai écrit un " Comment installer les outils de développement python sur Mac OSX " qui pourraient vous être utiles. Il contient des instructions pour l'installation de python, numpy, matplotlib et toutes les dépendances nécessaires. Je crois comprendre que vous travaillez avec Python 2.7 et que les instructions que je vous donne sont pour Python 2.6.5, mais ce serait la même approche. J'espère que vous l'obtiendrez au travail. 

1
Trond Kristiansen

Vous pouvez simplement installer la version Python 2.6 de Matplotlib, en supposant que Python2.6 est inclus dans Lion (les versions py2.5 et 2.6 sont incluses dans Mac OS 10.6 "Snow Leopard" - essayez de taper python2.6 pour savoir si cette version est installée.). 

Sur MacPorts, vous le faites via quelque chose comme:

Sudo port install py26-matplotlib

où py26 -... (ou py25 -..., py27 -... etc.) indique la version de python à laquelle il est destiné. (consultez la liste Pallet/ports pour obtenir le nom correct du paquet, au cas où je me serais trompé)

0
Demis