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
Je reçois 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.
Construire Matplotlib nécessite libpng
(et freetype
également) qui n'est pas une bibliothèque python, donc pip
ne gère pas son installation (ou freetype
).
Vous devrez installer quelque chose comme libpng-devel
et freetype-devel
(ou l’équivalent pour votre système d’exploitation).
Voir le conditions de construction/instructions pour matplotlib.
Pour générer un graphique au format png, vous devez installer les packages dépendants suivants
Sudo apt-get install libpng-dev
Sudo apt-get install libfreetype6-dev
Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ Ou en utilisant la commande suivante
Sudo apt-get install libpng12-0
Comme je me suis battu deux fois avec ce problème (même après une nouvelle installation de kubuntu 15.04) et que l’installation de freetype ne résolvait rien, j’ai enquêté plus avant.
La solution:
Extrait de github:
Ce bogue ne survient que si pkg-config n'est pas installé.
un simpleSudo apt-get install pkg-config
consolidera les chemins d'accès pour le moment.
Après cette installation se déroule sans heurts.
En complément, sur Amazon EC2, il me faut:
Sudo yum install freetype-devel
Sudo yum install libpng-devel
Sudo pip install matplotlib
Sur OSX, matplotlib s’est installé via:
pip install matplotlib==1.4.0
seulement après avoir couru:
brew install freetype
Sous Windows, cela a fonctionné pour moi:
python -m pip install -U pip setuptools
python -m pip install matplotlib
Sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev
travaillé pour moi sur Ubuntu 14.04
Une autre option consiste à installer anaconda, livré avec des packages tels que: Matplotlib, numpy et pandas.
Aucune des réponses ci-dessus n'a fonctionné pour moi dans Mint.
Sudo apt-get install build-essential g++
Pour réduire le nombre de paquets requis à installer, il vous suffit de
apt-get install -y \
libfreetype6-dev \
libxft-dev && \
pip install matplotlib
et vous obtiendrez les paquets 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
Si sur MacOSx, essayez
xcode-select --install
Ceci est conforme à subprocess 32
, la raison de l'échec.