Pip install erro Matplotlib com virtualenv

106

Estou tentando instalar o matplotlib em um novo virtualenv.

Quando eu faço:

pip install matplotlib

ou

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

Eu recebo este erro:

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

Alguém tem ideia do que está acontecendo?

Qualquer ajuda muito apreciada.

Darwin Tech
fonte
2
Você também pode ver The following required packages can not be built: freetype, pngqual é o mesmo erro (eu acho) em uma versão mais recente do pip.
LondonRob

Respostas:

176

Construir Matplotlib requer libpng(e freetype, também) que não é uma biblioteca python, então pipnão trata de instalá-la (ou freetype).

Você precisará instalar algo parecido com libpng-devele freetype-devel(ou qualquer equivalente para o seu sistema operacional).

Consulte os requisitos / instruções de construção para matplotlib.

Joe Kington
fonte
44
Obrigado pela informação! Eu finalmente tenho que trabalhar, instalando as seguintes dependências no ubuntu: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech
37
sudo apt-get build-dep python-matplotlibtambém faz o truque!
grisaitis
2
Pode funcionar, mas observe que ele deseja instalar alguns pacotes (mais do que cabe nesta caixa de comentários), mas cerca de 0,6 GB de pacotes.
Achal Dave de
18
No meu sistema debian (wheezy / instável) ele estava falhando mesmo com libfreetype6-devinstalado. Acontece que eu também precisava pkg-configinstalar.
Jon
Na verdade, eu tenho o libfreetype6-dev instalado no ubuntu 14.04. Matplotlib parece não estar escolhendo.
tutuca
51

Para gerar o gráfico no formato png, você precisa instalar os seguintes pacotes dependentes

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

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

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

Como já lutei com esse problema duas vezes (mesmo após a instalação do kubuntu 15.04) e a instalação do freetype não resolveu nada, investiguei mais a fundo.

A solução:
Do problema do github:

Este bug ocorre apenas se o pkg-config não estiver instalado;
um simples
sudo apt-get install pkg-config
irá escorar os caminhos incluídos por enquanto.

Após esta instalação prosseguir sem problemas.

Robin Nemeth
fonte
O mesmo aqui. pip install matplotlib me deu um erro: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype mostra não instalado. Eu apenas fiz brew install pkg-confige fui capaz de sobreviver.
Lily
Este também é o problema no Bash no Ubuntu no Windows Insider Preview
Jens de Bruijn
27

Como complemento, no Amazon EC2, o que preciso fazer é:

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib
cifra
fonte
6
É recomendável instalar um pacote em um ambiente virtual, o que é pipmuito bom. Conseqüentemente, sudo pip installnega a maior parte da utilidade que o pip traz para a mesa.
Romano de
8

No OSX, consegui instalar o matplotlib via:

pip install matplotlib==1.4.0

só depois de correr:

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

funcionou para mim no Ubuntu 14.04

user2436428
fonte
Eu precisava sudo apt-get install pkg-configprimeiro, no entanto.
jpcgt de
@RahulChauhan: Publique sua solução alternativa como uma resposta separada, em vez de tentar editá-la na resposta de outra pessoa.
Ilmari Karonen
0

Nenhuma das respostas acima funcionou para mim em Mint, então eu fiz:

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

Se no MacOSx tente

xcode-select --install

Este está em conformidade subprocess 32, o motivo do fracasso.

Coderaemon
fonte
0

Para reduzir os pacotes necessários para instalar você só precisa

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

e você obterá os seguintes pacotes 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
fonte
0

Outra opção é instalar o anaconda, que vem com pacotes como: Matplotlib, numpy e pandas.

https://anaconda.org

Romesh Tirimanna
fonte