27

我试图在我的 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?

4

11 回答 11

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

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

错误一直存在,直到我跑

brew link freetype

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

python setup.py build
python setup.py install

并且安装成功。

于 2012-10-08T23:22:05.023 回答
26

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

我的目标: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 编辑的符号链接。

于 2013-02-26T19:54:52.533 回答
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

它对我有用。

于 2012-09-20T23:30:51.983 回答
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
于 2013-04-11T03:44:42.000 回答
2

你需要自由类型:

brew install freetype

请参阅以下内容:

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

于 2012-09-12T07:03:24.277 回答
2

请注意“无 pkg-config”通知。您应该pkg-config在搜索路径上有,并且它可能需要是自制版本,以便它知道库的自制版本在哪里。

于 2012-09-11T15:19:06.403 回答
1

我也将 mac air 与 OS X 版本 10.8.2 一起使用。

使用以下命令可以摆脱此故障:
brew install freetype
brew install 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

于 2013-06-18T16:23:35.710 回答
0

我也在使用 MacOs 10.8,当我尝试安装 matplotlib 时遇到了关于找不到 ft2build.h 标头的相同问题,我为解决报告的问题所做的工作是:

1)在文件“setupext.py”中的以下调用中替换“ft2build.h”:

                                 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)
于 2014-04-22T18:51:09.997 回答
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
于 2013-08-13T01:12:56.550 回答
0

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

讨论:

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

使固定:

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

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

于 2014-07-03T14:25:59.300 回答
-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
于 2013-08-19T07:00:43.873 回答