可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I tried to install matplotlib on my MacBook Air, but it always gives me this error message:
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 ^ 1 error generated. error: Setup script exited with error: command 'clang' failed with exit status 1**
I tried to install freetype and libpng using homebrew but it doesn't work. How can I get ft2build.h?
回答1:
The following worked for matplotlib installation after installing python according to instructions from thegreenroom. Those instructions didn't work for me after I installed Python. I followed the instructions from Scipy.org to install numpy and scipy. Then I did (adapted from above answer):
brew install freetype brew install libpng
However I got the same error message whether I installed with pip install matplotlib
or trying to install from source, doing
python setup.py build python setup.py install
in the matplotlib directory I cloned via git clone https://github.com/matplotlib/matplotlib.git
.
The error persisted until I ran
brew link freetype
Then from the cloned matplotlib directory I ran
python setup.py build python setup.py install
And the installation succeeded.
回答2:
This may help folks looking for a non-homebrew solution.
My goal: use pip install
to build matplotlib for a non-system python 2.7.3 build.
Using latest X-Code and X-Code command line tools as of Feb 2013, no matter what gymnastics I tried, I always received C++ ostream related template errors when compiling ft2build with gcc.
I was able to get a pip install to work with the following env vars:
export CC=clang export CXX=clang++ export LDFLAGS="-L/usr/X11/lib" export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2"
I simply forced clang and added my xquartz paths. No extra pkg-config or libpng builds, no sudo-ed symlinks.
回答3:
I think the other answers are on the right track, but I encountered this same problem and can attest that:
brew install pkg-config brew install freetype pip install matplotlib
would yield the same result. Typically on an Ubuntu box my next response would have been
sudo apt-get install libfreetype-dev
or some variation of that to install the header. However, I could find no such homebrew package. Furthermore, I was able to locate the header file in question in a pretty normal location on my system:
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
So I suspect there's either a problem with my system paths or with the homebrew packaged matplotlib. Since I'm lazy, I just tried installing the matplotlib package head from github:
pip install git+git://github.com/matplotlib/matplotlib.git#egg=matplotlib-dev
and it worked for me.
回答4:
Here's the brew + pip recipe I used from a cold start. If you already have python and gfortran and such, jump in at the point where you need. The crucial steps appear to be brew install freetype
and brew install libpng
prior to doing 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
回答5:
Note the 'no pkg-config' notices. You should have pkg-config
on your search path, and it presumably needs to be the homebrew version so that it knows where the homebrew versions of the libraries are.
回答6:
回答7:
I also use mac air with OS X ver 10.8.2.
Using following commands can get rid of this failure:
brew install freetype
brew install libpng
pip install matplotlib
That's all. There may be some warning in the installing process, but that does not affect.
Use following python code to test:
import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show()
which is referred from the url: http://matplotlib.org/users/pyplot_tutorial.html.
回答8:
I have found installing these pacakges via homebrew to be the most reliable method
# 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
回答9:
I am using MacOs 10.8 too, and I encountered the same problem regarding not finding ft2build.h header when I tried to install matplotlib, what I l did to resolve the reported issue is :
1) replacing "ft2build.h" in the following call within the file "setupext.py" :
return self._check_for_pkg_config('freetype2', 'ft2build.h', min_version='2.4', version=version)
by the complete path to the ft2build.h header, in my case :
return self._check_for_pkg_config('freetype2', '/usr/local/Cellar/freetype/2.5.2/include/freetype2/ft2build.h', min_version='2.4', version=version)
回答10:
回答11:
I also had a similar issue, and fixed it in a reasonably straightforward way using homebrew.
You don't have to link the freetype
libraries for this reason. The main problem is, after you install freetype
using homebrew, you are told to add
-I/usr/local/opt/freetype/include
to your CPPFLAGS. However, this alone is not sufficient, and you also have to add the the freetype2
subfolder as well.
So in order to install matplotlib, do this:
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