首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译Matplotlib for Python on Snow Leopard

编译Matplotlib for Python on Snow Leopard
EN

Stack Overflow用户
提问于 2009-09-25 12:56:41
回答 7查看 9.9K关注 0票数 20

我花了半天的时间为雪豹上的蟒蛇编译matplotlib。我使用了谷歌,找到了这个有帮助的页面(http://blog.hyperjeff.net/?p=160),但我仍然无法编译它。我在该页面上看到其他用户的评论,所以我知道我并不孤单。

我已经独立安装了zlib,libpng和freetype。

我编辑了make.osx文件,使其在顶部包含以下内容:

代码语言:javascript
复制
PREFIX=/usr/local

PYVERSION=2.6
PYTHON=python${PYVERSION}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
FREETYPEVERSION=2.3.5
MACOSX_DEPLOYMENT_TARGET=10.6

## You shouldn't need to configure past this point

PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
CFLAGS="-Os -arch x86_64 -arch i386 -I${PREFIX}/include"
LDFLAGS="-arch x86_64 -arch i386 -L${PREFIX}/lib"
CFLAGS_DEPS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX10.6.sdk"
LDFLAGS_DEPS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX10.6.sdk"

然后我运行:

代码语言:javascript
复制
sudo make -f make.osx mpl_build

这给了我:

代码语言:javascript
复制
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" &&\
    export MACOSX_DEPLOYMENT_TARGET=10.6 &&\
    export CFLAGS="-Os -arch x86_64 -arch i386 -I/usr/local/include" &&\
    export LDFLAGS="-arch x86_64 -arch i386 -L/usr/local/lib" &&\
    python2.6 setup.py build

... snip ...

gcc-4.2 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -Os -arch x86_64 -arch i386 -I/usr/local/include -pipe -DPY_ARRAYAUNIQUE_SYMBOL=MPL_ARRAY_API -I/Library/Python/2.6/site-packages/numpy/core/include -I. -I/Library/Python/2.6/site-packages/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/ft2font.cpp -o build/temp.macosx-10.6-universal-2.6/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
In file included from src/ft2font.h:13,
                 from src/ft2font.cpp:1:
/usr/local/include/ft2build.h:56:38: error: freetype/config/ftheader.h: No such file or directory

... snip ...

src/ft2font.cpp:98: error: ‘FT_Int’ was not declared in this scope
/Library/Python/2.6/site-packages/numpy/core/include/numpy/__multiarray_api.h:1174: warning: ‘int _import_array()’ defined but not used
lipo: can't open input file: /var/tmp//ccDOGx37.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1
make: *** [mpl_build] Error 1

我只是迷路了。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-09-25 13:49:12

根据您的错误消息,您缺少freetype标头。您可以使用系统搜索功能找到它们吗?我不会讲授如何使用预先构建的包,因为我喜欢抓头,也喜欢从头开始编译。

票数 7
EN

Stack Overflow用户

发布于 2013-04-18 04:51:33

这个解决方案在OSX 10.8.3上对我很有效:

代码语言:javascript
复制
ln -s /usr/local/include/freetype2/freetype/ /usr/include/freetype

(功劳真正归功于:http://simpleyuan.blogspot.com/2012/08/matplotlib-error-mac-os-x.html)

票数 6
EN

Stack Overflow用户

发布于 2009-11-03 17:41:06

您也可以使用

代码语言:javascript
复制
$ python setup.py build

将以下补丁程序应用于setupext.py

代码语言:javascript
复制
Index: setupext.py
===================================================================
--- setupext.py (revision 7917)
+++ setupext.py (working copy)
@@ -334,6 +334,8 @@

     module.include_dirs.extend(incdirs)
     module.include_dirs.append('.')
+    module.include_dirs.append('/usr/local/include')
+    module.include_dirs.append('/usr/local/include/freetype2')
     module.library_dirs.extend(libdirs)

 def getoutput(s):
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档