可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am trying to install matplotlib in a new virtualenv.
When I do:
pip install matplotlib
or
pip install http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz
I get this 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
Anyone have an idea what is going on?
Any help much appreciated.
回答1:
Building Matplotlib requires libpng
(and freetype
, as well) which isn't a python library, so pip
doesn't handle installing it (or freetype
).
You'll need to install something along the lines of libpng-devel
and freetype-devel
(or whatever the equivalent is for your OS).
See the building requirements/instructions for matplotlib.
回答2:
To generate graph in png format you need to Install following dependent packages
sudo apt-get install libpng-dev
sudo apt-get install libfreetype6-dev
Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/
or using following command
sudo apt-get install libpng12-0
回答3:
As I have struggled with this issue twice (even after fresh kubuntu 15.04 install) and installing freetype did not solve anything, I investigated further.
The solution:
From github issue:
This bug only occurs if pkg-config is not installed;
a simple
sudo apt-get install pkg-config
will shore up the include paths for now.
After this installation proceeds smoothly.
回答4:
As a supplementary, on Amazon EC2, what I need to do is:
sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib
回答5:
On OSX I was able to get matplotlib to install via:
pip install matplotlib==1.4.0
only after I ran:
brew install freetype
回答6:
Under Windows this worked for me:
python -m pip install -U pip setuptools
python -m pip install matplotlib
(from https://matplotlib.org/users/installing.html)
回答7:
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev
worked for me on Ubuntu 14.04
回答8:
None of the above answers worked for me in Mint, so I did:
sudo apt-get install build-essential g++
回答9:
If on MacOSx try
xcode-select --install
This complies subprocess 32
, the reason for the failure.
回答10:
To reduce the required packages to install you just need
apt-get install -y \
libfreetype6-dev \
libxft-dev && \
pip install matplotlib
and you will get the following packages locally installed
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
回答11:
Another option is to install anaconda, which comes with packages such as: Matplotlib, numpy and pandas.
https://anaconda.org