Erreur d'installation de Pip Matplotlib avec virtualenv


106

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

Quand je fais:

pip install matplotlib

ou

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

J'obtiens 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 très appréciée.


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

Réponses:


177

La construction de Matplotlib nécessite libpng(et freetypeaussi) ce qui n'est pas une bibliothèque python, donc pipne gère pas son installation (oufreetype ).

Vous devrez installer quelque chose comme libpng-develet freetype-devel(ou tout autre équivalent pour votre système d'exploitation).

Voir les exigences / instructions de construction pour matplotlib.


44
Merci pour l'info! J'ai finalement obtenu ce travail en installant les dépendances suivantes ubuntu: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech

37
sudo apt-get build-dep python-matplotlibfait aussi l'affaire!
grisaitis

2
Cela peut fonctionner, mais notez qu'il veut installer pas mal de paquets (plus que ce que peut contenir cette boîte de commentaires), mais environ 0,6 Go de paquets.
Achal Dave

18
Sur mon système Debian (wheezy / instable), il échouait même avec libfreetype6-devinstallé. Il s'est avéré que j'avais également besoin d'être pkg-configinstallé.
Jon

En fait, j'ai installé libfreetype6-dev sur ubuntu 14.04. Matplotlib ne semble pas le choisir.
tutuca


30

Comme j'ai lutté avec ce problème deux fois (même après la nouvelle installation de kubuntu 15.04) et que l'installation de freetype n'a rien résolu, j'ai approfondi mes recherches.

La solution:
du problème github:

Ce bogue se produit uniquement si pkg-config n'est pas installé;
un simple
sudo apt-get install pkg-config
étayera les chemins d'inclusion pour l'instant.

Après cette installation se déroule en douceur.


Pareil ici. pip install matplotlib m'a donné une erreur: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype montre non installé. Je viens de le faire brew install pkg-configet j'ai pu m'en sortir.
Lily

C'est aussi le problème sur Bash sur Ubuntu sur Windows Insider Preview
Jens de Bruijn

27

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
Il est recommandé d'installer un package dans un environnement virtuel, ce qui le rend pipsi agréable. Par conséquent, sudo pip installannule la plupart de l'utilité que pip apporte à la table.
Roman

8

Sur OSX, j'ai pu installer matplotlib via:

pip install matplotlib==1.4.0

seulement après avoir couru:

brew install freetype


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

a travaillé pour moi sur Ubuntu 14.04


J'avais besoin d' sudo apt-get install pkg-configabord cependant.
jpcgt

@RahulChauhan: Veuillez publier votre solution alternative sous forme de réponse distincte au lieu d'essayer de la modifier dans la réponse de quelqu'un d'autre.
Ilmari Karonen le

0

Aucune des réponses ci-dessus n'a fonctionné pour moi à Mint, alors j'ai fait:

sudo apt-get install build-essential g++

0

Si sur MacOSx essayez

xcode-select --install

Ceci est conforme subprocess 32, la raison de l'échec.


0

Pour réduire les packages nécessaires à l'installation, il vous suffit

apt-get install -y \
    libfreetype6-dev \
    libxft-dev && \
    pip install matplotlib

et vous obtiendrez les packages suivants installés localement

Collecting matplotlib
  Downloading matplotlib-2.2.0-cp35-cp35m-manylinux1_x86_64.whl (12.5MB)
Collecting pytz (from matplotlib)
  Downloading pytz-2018.3-py2.py3-none-any.whl (509kB)
Collecting python-dateutil>=2.1 (from matplotlib)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
Requirement already satisfied: six>=1.10 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl (949kB)
Requirement already satisfied: numpy>=1.7.1 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Requirement already satisfied: setuptools in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg (from kiwisolver>=1.0.1->matplotlib)
Installing collected packages: pytz, python-dateutil, pyparsing, cycler, kiwisolver, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.0 pyparsing-2.2.0 python-dateutil-2.6.1 pytz-2018.3

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.