我尝试在我的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?
答案 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 libpng
和pip 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()
答案 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
修正:
我用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