2012-03-22 128 views
97

我正试图在新的virtualenv中安装matplotlib。Pip用virtualenv安装Matplotlib错误

当我这样做:

pip install matplotlib 

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

我得到这个错误:

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 

人有一个想法是怎么回事?

任何帮助非常感谢。

+1

您还可以看到'下面需要的软件包不能建: freetype,png',这是(我认为)更新版本的“pip”中的相同错误。 – LondonRob 2015-07-27 17:06:26

回答

167

建设Matplotlib需要libpng(和freetype),这不是一个Python库,所以pip不处理安装它(或freetype)。

你需要安装一些东西沿libpng-develfreetype-devel(或任何相当于您的操作系统)。

查看matplotlib的building requirements/instructions

+44

感谢您的信息!我终于通过在ubuntu中安装以下依赖项来实现它:libpng-dev,libjpeg8-dev,libfreetype6-dev。 – 2012-03-26 15:26:48

+37

'sudo apt-get build-dep python-matplotlib'也有诀窍! – grisaitis 2013-02-04 00:59:23

+7

'sudo apt-get build-dep matplotlib'为我工作。 – 2013-06-17 07:20:51

25

作为补充,在Amazon EC2上,我需要什么做的是:

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

建议将软件包安装到虚拟环境中,这样'pip'就好了。因此'sudo pip install'否定了pip带来的大部分用处。 – Roman 2015-05-14 06:48:27

6

在OSX上我能得到matplotlib通过安装:

pip install matplotlib==1.4.0 

后,才跑了:

brew install freetype 
30

正如我这个问题挣扎的两倍(甚至在新鲜的Kubuntu 15.04安装)和安装的FreeType没有解决任何问题,我进一步调查。

解决方案是:
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.

此安装完毕后可顺利地进行。

+0

同样在这里。 pip安装matplotlib给了我错误:'重要警告:pkg-config没有安装。 matplotlib可能无法找到它的一些依赖关系。“Freetype显示未安装。我刚刚做了'brew install pkg-config'并且能够通过。 – Lily 2016-01-18 01:45:47

+0

这也是在Windows上的Bash on Ubuntu Insider Preview上的问题 – 2016-06-11 13:27:33

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

在Ubuntu 14上为我工作。04

+0

虽然我需要'sudo apt-get install pkg-config'。 – jpcgt 2016-05-10 18:52:20

+0

@RahulChauhan:请将您的[替代解决方案](https://stackoverflow.com/review/suggested-edits/17336490)作为单独的答案发布,而不是试图将其编辑为其他人的答案。 – 2017-09-14 20:56:39

0

上述答案的薄荷为我工作,所以我所做的:

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

如果在MacOSx上试试

xcode-select --install 

这符合subprocess 32,失败的原因。

0

为了减少所需的软件包安装,你只需要

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

,你会得到下面的软件包安装在本地

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