安装matplotlib时出错

时间:2011-12-02 16:23:54

标签: python linux matplotlib

我已尝试使用pip install matplotlibgit clone然后使用python setup.py install,如适用于Mac OS 10.7的the installation faq中所述。但是我得到了同样的错误:

[...]
llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I. -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/ft2font.cpp -o build/temp.macosx-10.7-intel-2.7/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
In file included from src/ft2font.cpp:3:
src/ft2font.h:16:22: error: ft2build.h: No such file or directory
src/ft2font.h:17:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:18:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:19:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:20:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:21:10: error: #include expects "FILENAME" or <FILENAME>
In file included from src/ft2font.cpp:3:
src/ft2font.h:34: error: ‘FT_Bitmap’ has not been declared
src/ft2font.h:34: error: ‘FT_Int’ has not been declared
src/ft2font.h:34: error: ‘FT_Int’ has not been declared
src/ft2font.h:86: error: expected ‘,’ or ‘...’ before ‘&’ token
[...]

好像我错过了系统中安装的一些软件包?或者还有其他更好的安装matplotlib的方法吗?

谢谢!

更新:通过谷歌搜索和搜索SO我发现我可能缺少软件包freetype2,但是,如果我尝试通过自制软件安装它,我会收到一条警告消息:

[me @ my mac]$ brew search freetype
Apple distributes freetype with OS X, you can find it in /usr/X11/lib.
However not all build scripts look here, so you may need to call ENV.x11
in your formula's install function.

3 个答案:

答案 0 :(得分:80)

我在Ubuntu服务器12.04上遇到过这个问题。

我必须从存储库安装libfreetype6-devlibpng-dev。当我遇到这个问题时,我正在使用virtualenv并使用pip安装matplotlib。

我需要执行此操作的提示来自matplotlib安装中早期弹出的警告消息,因此请留意那些指示找到依赖关系的消息,而不是标题。

答案 1 :(得分:13)

同样的错误,安装工作在我的一台Lion机器上,但不在另一台机器上。追踪到缺少的pkg-config

$ brew install pkg-config
$ pip install -U 'http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz/download'

(另见https://jholewinski.org/blog/installing-matplotlib-on-os-x-10-7-with-homebrew/

答案 2 :(得分:2)

感谢上面的链接。我能够让matplotlib进行一些微小的改动。我正在记录我遇到的具体错误消息,以供将来参考。

ENV:   Mac OS X 10.7.4(Lion)运行股票python 2.7.1(在/ usr / bin中找到)

我开始试图让matplotlib对默认安装起作用。 setup.py特别暗示了一些问题:

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 '.'

安装步骤将失败,并显示以下错误消息:

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/numpy/__multiarray_api.h:1187: warning: ‘int _import_array()’ defined but not used
lipo: can't open input file: /var/tmp//ccG28dDI.out (No such file or directory)

谷歌搜索此文件没有任何帮助。我挖了一下,觉得不值得花时间沿着虚拟路线走下去。

我最后遵循上面jholewinski链接中列出的步骤。在/ usr / local /中安装了一个新的python 2.7.4并按照那里的说明进行操作。 (我重新安装了pkg-config)。 我能够从git中提取最新版本的matplotlib并且工作得很好。

这次libpng(1.5.4)和freetype2(13.2.7)库都存在。