Matplotlib在Mac OSX 10.8 Mountain Lion上安装失败

时间:2012-09-11 05:57:35

标签: matplotlib

我尝试在我的MacBook Air上安装matplotlib,但它总是给我这个错误信息:

 Processing matplotlib-1.1.1_notests.tar.gz
 Running matplotlib-1.1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3jFpXK/matplotlib-1.1.1/egg-dist-tmp-jC7QY3
    basedirlist is: []
    ============================================================================
    BUILDING MATPLOTLIB
                matplotlib: 1.1.1
                    python: 2.7.2 (default, Jun 20 2012, 16:23:33)  [GCC 4.2.1
                            Compatible Apple Clang 4.0
                            (tags/Apple/clang-418.0.60)]
                  platform: darwin

    REQUIRED DEPENDENCIES
                     numpy: 1.6.1
                 freetype2: found, but unknown version (no pkg-config)
                            * WARNING: Could not find 'freetype2' headers in any
                            * of '.', './freetype2'.

    OPTIONAL BACKEND DEPENDENCIES
                    libpng: found, but unknown version (no pkg-config)
                            * Could not find 'libpng' headers in any of '.'
                   Tkinter: Tkinter: version not identified, Tk: 8.5, Tcl: 8.5
                      Gtk+: no
                            * Building for Gtk+ requires pygtk; you must be able
                            * to "import gtk" in your build/install environment
           Mac OS X native: yes
                        Qt: no
                       Qt4: no
                    PySide: no
                     Cairo: no

    OPTIONAL DATE/TIMEZONE DEPENDENCIES
                  datetime: present, version unknown
                  dateutil: 1.5
                      pytz: matplotlib will provide
    adding pytz

    OPTIONAL USETEX DEPENDENCIES
                    dvipng: 1.14
               ghostscript: 9.05
                     latex: 3.1415926

    [Edit setup.cfg to suppress the above messages]




  pymods ['pylab']
    packages ['matplotlib', 'matplotlib.backends', 'matplotlib.backends.qt4_editor', 'matplotlib.projections', 'matplotlib.testing', 'matplotlib.testing.jpl_units', 'matplotlib.tests', 'mpl_toolkits', 'mpl_toolkits.mplot3d', 'mpl_toolkits.axes_grid', 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axisartist', 'matplotlib.sphinxext', 'matplotlib.tri', 'matplotlib.delaunay', 'pytz']
    warning: no files found matching 'KNOWN_BUGS'
    warning: no files found matching 'INTERACTIVE'
    warning: no files found matching 'MANIFEST'
    warning: no files found matching '__init__.py'
    warning: no files found matching 'examples/data/*'
    warning: no files found matching 'lib/mpl_toolkits'
    warning: no files found matching 'LICENSE*' under directory 'license'
    clang: warning: argument unused during compilation: '-mno-fused-madd'
    In file included from src/ft2font.cpp:3:
    src/ft2font.h:16:10: fatal error: 'ft2build.h' file not found

**#include <ft2build.h>
             ^
    1 error generated.
    error: Setup script exited with error: command 'clang' failed with exit status 1**

我尝试使用自制软件安装freetype和libpng,但它不起作用。我怎样才能获得ft2build.h?

11 个答案:

答案 0 :(得分:36)

根据thegreenroom的说明安装python之后,以下内容适用于matplotlib安装。安装Python后,这些说明对我不起作用。我按照Scipy.org的说明安装了numpy和scipy。然后我做了(改编自上面的回答):

brew install freetype
brew install libpng

然而,无论我是使用pip install matplotlib安装还是尝试从源代码安装,我都收到了相同的错误消息

python setup.py build
python setup.py install

在我通过git clone https://github.com/matplotlib/matplotlib.git克隆的matplotlib目录中。

错误一直持续到我跑

brew link freetype

然后从克隆的matplotlib目录中运行

python setup.py build
python setup.py install

安装成功。

答案 1 :(得分:25)

这可能有助于人们寻找非自制的解决方案。

我的目标:使用pip install为非系统python 2.7.3版本构建matplotlib。

截至2013年2月使用最新的X-Code和X-Code命令行工具,无论我尝试过哪种体操,在使用gcc编译ft2build时,我总是收到与C ++ ostream相关的模板错误。

我能够获得一个pip安装来使用以下环境变量:

export CC=clang
export CXX=clang++
export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2"

我只是强迫clang并添加了我的xquartz路径。没有额外的pkg-config或libpng构建,没有sudo-ed符号链接。

答案 2 :(得分:8)

我认为其他答案都在正确的轨道上,但我遇到了同样的问题,可以证明:

brew install pkg-config
brew install freetype
pip install matplotlib

会产生相同的结果。通常在Ubuntu盒子上我的下一个响应是

sudo apt-get install libfreetype-dev

或安装标题的一些变体。但是,我找不到这样的自制软件包。此外,我能够在我的系统上一个非常正常的位置找到有问题的头文件:

zoidberg:~ matt$ locate ft2build.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/X11/include/ft2build.h
/usr/X11/include/ft2build.h

所以我怀疑我的系统路径或自制软件包matplotlib存在问题。由于我很懒,我只是尝试从github安装matplotlib包头:

pip install git+git://github.com/matplotlib/matplotlib.git#egg=matplotlib-dev

它对我有用。

答案 3 :(得分:4)

这是我从冷启动中使用的brew + pip配方。如果你已经有python和gfortran等,那就跳到你需要的地方。在执行brew install freetype

之前,关键步骤似乎是brew install libpngpip install matplotlib
$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
$ brew doctor
$ brew install python
$ export PATH=/usr/local/bin:/usr/local/share/python:$PATH
$ easy_install pip
$ brew install gfortran
$ pip install numpy
$ pip install scipy
$ brew install pkg-config
$ brew install freetype
$ brew install libpng
$ pip install matplotlib
$ python
>>> import numpy
>>> import scipy
>>> import matplotlib

答案 4 :(得分:2)

请注意'no pkg-config'通知。你的搜索路径上应该有pkg-config,它可能需要是自制版本,以便知道自制软件库的版本。

答案 5 :(得分:2)

你需要freetype:

brew install freetype

请参阅以下内容:

http://comments.gmane.org/gmane.comp.python.matplotlib.general/31394

答案 6 :(得分:1)

我也使用OS X版本10.8.2的mac air。

使用以下命令可以摆脱这种失败:
brew install freetype
brew安装libpng
pip install matplotlib

这就是全部。安装过程中可能会有一些警告,但这不会影响。

使用以下python代码进行测试:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()  

是从网址引用的:http://matplotlib.org/users/pyplot_tutorial.html

答案 7 :(得分:0)

我发现通过自制软件安装这些软件包是最可靠的方法

 # if you haven't installed python via brew already:
 brew install python

 # sets up python as default python instead of system python
 brew link python

 # Add more brew formulae so we can install our py libs with brew
 brew tap samueljohn/python
 brew tap homebrew/science

 # install numpy,scipy,matplotlib and dependencies ( gfortran, etc.. )
 brew install numpy
 brew install scipy
 brew insatll matplotlib

答案 8 :(得分:0)

我也在使用MacO 10.8,当我尝试安装matplotlib时遇到了同样的问题,我没有找到ft2build.h标头,我为解决报告的问题所做的是:

1)替换&#34; ft2build.h&#34;在文件中的以下调用&#34; setupext.py&#34; :

                                 return self._check_for_pkg_config('freetype2', 
                                 'ft2build.h',
                                  min_version='2.4', 
                                  version=version)

通过ft2build.h标头的完整路径,在我的情况下:

                                return self._check_for_pkg_config('freetype2', 
                               '/usr/local/Cellar/freetype/2.5.2/include/freetype2/ft2build.h',
                                min_version='2.4', 
                                version=version)

答案 9 :(得分:0)

我认为,但尚未测试,问题是在matplotlib的上游提交中解决的。以下是我的原因:

讨论:

https://github.com/vbraun/sage/commit/5d17ca989eb58559af8f43b43e368c378c1bf6bb

修正:

https://github.com/vbraun/sage/blob/5d17ca989eb58559af8f43b43e368c378c1bf6bb/build/pkgs/matplotlib/patches/pkg-config.patch

我用Cyris的回答思路解决了这个问题。

答案 10 :(得分:-1)

我也有类似的问题,并使用自制软件以相当简单的方式修复它。

出于这个原因,您不必链接freetype库。主要问题是,在使用自制软件安装freetype后,系统会告诉您添加

-I/usr/local/opt/freetype/include 

到您的CPPFLAGS。但是,仅此一项是不够的,您还必须添加freetype2子文件夹。

因此,为了安装matplotlib,请执行以下操作:

brew install freetype
brew install libpng
LDFLAGS="-L/usr/local/opt/freetype/lib -L/usr/local/opt/libpng/lib" CPPFLAGS="-I/usr/local/opt/freetype/include -I/usr/local/opt/libpng/include -I/usr/local/opt/freetype/include/freetype2" pip install matplotlib