Matplotlib install failure on Mac OSX 10.8 Mountain Lion

匿名 (未验证) 提交于 2019-12-03 00:57:01

问题:

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:

You need freetype:

brew install freetype 

See the following:

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



回答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:

I think, but have not tested, that the problem is solved in an upstream commit of matplotlib. Here is my reasons why:

Discussion:

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

Fix:

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

I fixed the problem with Cyris's answer thought.



回答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 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!