Error de instalación de Pip Matplotlib con virtualenv

106

Estoy intentando instalar matplotlib en un nuevo virtualenv.

Cuando lo hago:

pip install matplotlib

o

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

Me sale este error:

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

¿Alguien tiene una idea de lo que está pasando?

Cualquier ayuda muy apreciada.

Tecnología Darwin
fuente
2
También puede ver The following required packages can not be built: freetype, pngcuál es el mismo error en (creo) una versión más nueva de pip.
LondonRob

Respuestas:

176

La construcción de Matplotlib requiere libpng(y freetypetambién) que no es una biblioteca de Python, por lo pipque no se encarga de instalarla (o freetype).

Deberá instalar algo similar a libpng-devely freetype-devel(o el equivalente para su sistema operativo).

Consulte los requisitos / instrucciones de construcción para matplotlib.

Joe Kington
fuente
44
Gracias por la info! Finalmente conseguí que funcione mediante la instalación de las siguientes dependencias en ubuntu: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech
37
sudo apt-get build-dep python-matplotlibtambién hace el truco!
grisaitis
2
Puede funcionar, pero tenga en cuenta que quiere instalar bastantes paquetes (más de los que caben en este cuadro de comentarios), pero aproximadamente 0,6 GB de paquetes.
Achal Dave
18
En mi sistema debian (sibilante / inestable) estaba fallando incluso con libfreetype6-devinstalado. Resultó que también necesitaba pkg-configinstalarlo.
Jon
De hecho, tengo libfreetype6-dev instalado en ubuntu 14.04. Matplotlib parece no elegirlo.
tutuca
51

Para generar un gráfico en formato png, debe instalar los siguientes paquetes dependientes

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

Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ o usando el siguiente comando

sudo apt-get install libpng12-0
Lava Sangeetham
fuente
30

Como he luchado con este problema dos veces (incluso después de la nueva instalación de kubuntu 15.04) y la instalación de freetype no resolvió nada, investigué más.

La solución: del
problema de github:

Este error solo ocurre si pkg-config no está instalado;
un simple
sudo apt-get install pkg-config
apuntalará las rutas de inclusión por ahora.

Después de que esta instalación proceda sin problemas.

Robin Nemeth
fuente
Igual que aquí. pip install matplotlib me dio un error: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype muestra no instalado. Simplemente lo hice brew install pkg-configy pude salir adelante.
Lily
Este es también el problema en Bash en Ubuntu en Windows Insider Preview
Jens de Bruijn
27

Como complemento, en Amazon EC2, lo que necesito hacer es:

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib
cifrado
fuente
6
Se recomienda instalar un paquete en un entorno virtual, lo que piplo hace muy agradable. Por lo tanto, sudo pip installniega la mayor parte de la utilidad que aporta pip a la mesa.
Roman
8

En OSX pude hacer que matplotlib se instalara a través de:

pip install matplotlib==1.4.0

solo después de que corrí:

brew install freetype
gh4x
fuente
2
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev

funcionó para mí en Ubuntu 14.04

usuario2436428
fuente
Aunque necesitaba sudo apt-get install pkg-configprimero.
jpcgt
@RahulChauhan: Publique su solución alternativa como una respuesta separada en lugar de intentar editarla en la respuesta de otra persona.
Ilmari Karonen
0

Ninguna de las respuestas anteriores me funcionó en Mint, así que lo hice:

sudo apt-get install build-essential g++
AndreL
fuente
0

Si en MacOSx intente

xcode-select --install

Esto cumple subprocess 32, el motivo del fallo.

Coderaemon
fuente
0

Para reducir los paquetes necesarios para instalar, solo necesita

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

y obtendrá los siguientes paquetes instalados localmente

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
Loretoparisi
fuente
0

Otra opción es instalar anaconda, que viene con paquetes como: Matplotlib, numpy y pandas.

https://anaconda.org

Romesh Tirimanna
fuente