Pip Install Matplotlib Fehler mit virtualenv

106

Ich versuche, matplotlib in einer neuen virtuellen Umgebung zu installieren.

Wenn ich es tue:

pip install matplotlib

oder

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

Ich erhalte diesen Fehler:

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

Hat jemand eine Idee was los ist?

Jede Hilfe sehr geschätzt.

Darwin Tech
quelle
2
Sie können auch sehen, The following required packages can not be built: freetype, pngwelcher der gleiche Fehler in (ich denke) einer neueren Version von ist pip.
LondonRob

Antworten:

176

Für das Erstellen von Matplotlib ist libpng(und freetypeauch) keine Python-Bibliothek piperforderlich , daher ist die Installation (oder freetype) nicht möglich.

Sie müssen etwas in der Art von libpng-develund installieren freetype-devel(oder was auch immer das Äquivalent für Ihr Betriebssystem ist).

Siehe die Bauanforderungen / Anweisungen für matplotlib.

Joe Kington
quelle
44
Danke für die Information! Ich kann es endlich arbeiten , indem Sie die folgenden Abhängigkeiten in ubuntu installieren: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech
37
sudo apt-get build-dep python-matplotlibmacht auch den Trick!
Grisaitis
2
Es mag funktionieren, aber beachten Sie, dass es einige Pakete installieren möchte (mehr als in dieses Kommentarfeld passen), aber Pakete im Wert von etwa 0,6 GB.
Achal Dave
18
Auf meinem Debian-System (keuchend / instabil) schlug es sogar mit libfreetype6-devinstalliertem System fehl . Es stellte sich heraus, dass ich auch pkg-configinstalliert werden musste.
Jon
Ich habe tatsächlich libfreetype6-dev auf Ubuntu 14.04 installiert. Matplotlib scheint es nicht zu pflücken.
Tutuca
51

Um ein Diagramm im PNG-Format zu generieren, müssen Sie die folgenden abhängigen Pakete installieren

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

Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ oder mit dem folgenden Befehl

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

Da ich zweimal mit diesem Problem zu kämpfen hatte (auch nach der Neuinstallation von kubuntu 15.04) und die Installation von freetype nichts löste, habe ich weiter nachgeforscht.

Die Lösung:
Vom Github-Problem:

Dieser Fehler tritt nur auf, wenn pkg-config nicht installiert ist.
Ein einfacher
sudo apt-get install pkg-config
Wille stützt die Include-Pfade vorerst.

Nach dieser Installation läuft reibungslos.

Robin Nemeth
quelle
Hier gilt das gleiche. pip install matplotlib gab mir Fehler: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype zeigt nicht installiert. Ich habe es einfach getan brew install pkg-configund konnte durchkommen.
Lily
Dies ist auch das Problem bei Bash unter Ubuntu unter Windows Insider Preview
Jens de Bruijn
27

Als Ergänzung zu Amazon EC2 muss ich Folgendes tun:

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib
ciphor
quelle
6
Es wird empfohlen, ein Paket in einer virtuellen Umgebung zu installieren, was sehr pipschön ist. Daher wird der sudo pip installgrößte Teil des Nutzens, den pip auf den Tisch bringt, negiert.
Roman
8

Unter OSX konnte ich matplotlib installieren über:

pip install matplotlib==1.4.0

erst nachdem ich gelaufen bin:

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

arbeitete für mich unter Ubuntu 14.04

user2436428
quelle
Ich brauchte aber sudo apt-get install pkg-configzuerst.
jpcgt
@RahulChauhan: Bitte veröffentlichen Sie Ihre alternative Lösung als separate Antwort, anstatt zu versuchen, sie in die Antwort eines anderen zu bearbeiten.
Ilmari Karonen
0

Keine der oben genannten Antworten hat bei mir in Mint funktioniert, also habe ich:

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

Wenn unter MacOSx versuchen

xcode-select --install

Dies entspricht subprocess 32dem Grund für den Ausfall.

Coderaemon
quelle
0

Um die für die Installation erforderlichen Pakete zu reduzieren, benötigen Sie nur

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

und Sie erhalten die folgenden Pakete lokal installiert

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
quelle
0

Eine weitere Option ist die Installation von Anaconda, die mit Paketen wie Matplotlib, Numpy und Pandas geliefert wird.

https://anaconda.org

Romesh Tirimanna
quelle