108 votes

Erreur de Pip install Matplotlib avec virtualenv

J'essaie d'installer matplotlib dans un nouveau virtualenv.

Quand je le fais :

pip install matplotlib

o

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

Je reçois cette erreur :

building 'matplotlib._png' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -  DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/usr/local/include -I/usr/include -I. -I/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/numpy/core/include -I. -I/usr/include/python2.7 -c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o

src/_png.cpp:10:20: fatal error: png.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

Quelqu'un a une idée de ce qui se passe ?

Toute aide est la bienvenue.

2 votes

Vous pouvez également voir The following required packages can not be built: freetype, png qui est la même erreur dans (je pense) une version plus récente de pip .

178voto

Joe Kington Points 68089

La construction de Matplotlib nécessite libpng (et freetype ) qui n'est pas une bibliothèque python, donc pip ne gère pas son installation (ou freetype ).

Vous aurez besoin d'installer quelque chose de l'ordre de libpng-devel y freetype-devel (ou l'équivalent pour votre système d'exploitation).

Voir le exigences de construction/instructions pour matplotlib.

44 votes

Merci pour l'information ! J'ai finalement réussi à le faire fonctionner en installant les dépendances suivantes dans ubuntu : libpng-dev , libjpeg8-dev , libfreetype6-dev .

37 votes

sudo apt-get build-dep python-matplotlib fait aussi l'affaire !

2 votes

Cela peut fonctionner, mais notez qu'il veut installer un certain nombre de paquets (plus que ce qui peut tenir dans cette boîte de commentaires), mais environ 0,6 Go de paquets.

52voto

Pour générer un graphique au format png, vous devez installer les paquets dépendants suivants

sudo apt-get install libpng-dev
sudo apt-get install libfreetype6-dev

Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ ou en utilisant la commande suivante

sudo apt-get install libpng12-0

31voto

Robin Nemeth Points 1264

Comme j'ai rencontré ce problème à deux reprises (même après une nouvelle installation de Kubuntu 15.04) et que l'installation de Freetype n'a rien résolu, j'ai poursuivi mes recherches.

La solution :
A partir de la question github :

Ce bogue ne se produit que si pkg-config n'est pas installé ;
un simple
sudo apt-get install pkg-config
va consolider les chemins d'inclusion pour le moment.

Après cela, l'installation se déroule sans problème.

27voto

ciphor Points 2821

En complément, sur Amazon EC2, ce que je dois faire est :

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib

6 votes

Il est recommandé d'installer un paquet dans un environnement virtuel, ce qui rend pip si agréable. D'où sudo pip install annule la plupart de l'utilité que pip apporte à la table.

8voto

gh4x Points 746

Sous OSX, j'ai pu obtenir l'installation de matplotlib via :

pip install matplotlib==1.4.0

seulement après avoir couru :

brew install freetype

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X