2013-12-23 65 views
2

我一直在为获得为python安装matplotlib库几天摔跤。我得的FreeType时,Xcode,X11,并且绑定整理出来,但现在当我尝试安装matplotlib我得到以下错误:在Mac OS X上通过pip安装Matplotlib Mavericks因Coacoa错误而失败?

building 'matplotlib.backends._macosx' extension 

gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 
-DNDEBUG -g -O3 -DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_backends__macosx_ARRAY_API 
-DPYCXX_ISO_CPP_LIB=1 -I/Library/Frameworks/Python.framework/Versions/2.7/lib 
/python2.7/site-packages/numpy/core/include -I/usr/local/include -I/usr/include 
-I/usr/X11/include -I/opt/local/include -I. -Iagg24/include 
-I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 
-c src/_macosx.m 
-o build/temp.macosx-10.6-intel-2.7/src/_macosx.o 

In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:161, 
    from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12, 
    from src/_macosx.m:1: 
    /System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:16: 
    error: expected ‘,’ or ‘}’ before ‘__attribute__’ 

这与有关不推荐使用numpy的API的数量警告走来,但这些似乎没有造成任何问题。任何人都可以告诉我这里有什么问题吗?

为了记录,我使用的是gcc-4.2。

回答

1

只需编辑/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:

NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3 

到:

NSUserNotificationActivationTypeReplied /* NS_AVAILABLE(10_9, NA) */ = 3 

sudo nano /System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h 

行更改16

然后重试安装matplotlib:

sudo pip install matplotlib 

为我解决了它!

来源:https://www.mail-archive.com/[email protected]/msg00215.html

+0

这也解决了我的问题,我试图构建python。但是这个头文件属于什么?它有可能会升级并破坏本手册的编辑? –

+1

我也遇到了这个错误,但是改变系统库头文件是一件非常不明智的事情 - 你不知道其他什么系统事物依赖于此。 – JoeZuntz

0

检查的which -a gcc-4.2输出。如果它的/usr/bin/gcc-4.2你没有使用Xcode提供的gcc。为了解决这个问题,运行你的build命令(或pip等),前缀为CC=/usr/bin/gcc。这应该解决这个错误。

相关问题