2013-12-23 71 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。這應該解決這個錯誤。

相關問題