Pip installa l'errore Matplotlib con virtualenv


106

Sto cercando di installare matplotlib in un nuovo virtualenv.

Quando io faccio:

pip install matplotlib

o

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

Ottengo questo errore:

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

Qualcuno ha un'idea di cosa sta succedendo?

Qualsiasi aiuto molto apprezzato.


2
Potresti anche vedere The following required packages can not be built: freetype, pngquale è lo stesso errore (credo) in una versione più recente di pip.
LondonRob

Risposte:


176

La compilazione di Matplotlib richiede libpng(e freetype, pure) che non è una libreria Python, quindi pipnon gestisce l'installazione (o freetype).

Dovrai installare qualcosa sulla falsariga di libpng-devele freetype-devel(o qualunque sia l'equivalente per il tuo sistema operativo).

Vedere i requisiti / istruzioni di costruzione per matplotlib.


44
Grazie per le informazioni! Finalmente ho ottenuto che funziona installando le seguenti dipendenze in Ubuntu: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech

37
sudo apt-get build-dep python-matplotlibfa anche il trucco!
grisaitis

2
Può funzionare, ma nota che vuole installare un bel po 'di pacchetti (più di quelli che possono stare in questa casella di commento), ma circa 0,6 GB di pacchetti.
Achal Dave

18
Sul mio sistema Debian (wheezy / unstable) non funzionava anche se libfreetype6-devinstallato. Si è scoperto che avevo anche bisogno di essere pkg-configinstallato.
Jon

In realtà ho libfreetype6-dev installato su Ubuntu 14.04. Matplotlib sembra non sceglierlo.
tutuca


30

Poiché ho lottato con questo problema due volte (anche dopo l'installazione di kubuntu 15.04) e l'installazione di freetype non ha risolto nulla, ho indagato ulteriormente.

La soluzione:
dal problema di GitHub:

Questo bug si verifica solo se pkg-config non è installato;
un semplice
sudo apt-get install pkg-config
sosterrà i percorsi di inclusione per ora.

Dopo questa installazione procede senza problemi.


Anch'io. pip install matplotlib mi ha dato un errore: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype mostra non installato. L'ho appena fatto brew install pkg-confige sono riuscito a cavarmela.
Lily

Questo è anche il problema su Bash su Ubuntu su Windows Insider Preview
Jens de Bruijn

27

Come supplemento, su Amazon EC2, quello che devo fare è:

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

6
Si consiglia di installare un pacchetto in un ambiente virtuale, il che lo rende pipmolto piacevole. Quindi sudo pip installnega la maggior parte dell'utilità che pip porta in tavola.
Roman

8

Su OSX sono stato in grado di installare matplotlib tramite:

pip install matplotlib==1.4.0

solo dopo aver corso:

brew install freetype


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

ha funzionato per me su Ubuntu 14.04


sudo apt-get install pkg-configPrima però avevo bisogno .
jpcgt

@RahulChauhan: Pubblica la tua soluzione alternativa come risposta separata invece di provare a modificarla nella risposta di qualcun altro.
Ilmari Karonen

0

Nessuna delle risposte precedenti ha funzionato per me in Mint, quindi ho fatto:

sudo apt-get install build-essential g++

0

Se su MacOSx prova

xcode-select --install

Questo è conforme subprocess 32, il motivo del fallimento.


0

Per ridurre i pacchetti richiesti da installare è sufficiente

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

e otterrai i seguenti pacchetti installati 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.