【问题标题】:Installing Matplotlib via pip on Mac OS X Mavericks failing due to Coacoa error?由于 Coacoa 错误,在 Mac OS X Mavericks 上通过 pip 安装 Matplotlib 失败?
【发布时间】:2014-01-11 07:02:41
【问题描述】:

几天来,我一直在努力为 python 安装 matplotlib 库。我已经整理好了 freetype、XCode、X11 和绑定,但是现在当我尝试安装 matplotlib 时出现以下错误:

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。

【问题讨论】:

    标签: python macos matplotlib pip osx-mavericks


    【解决方案1】:

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

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

    将第 16 行更改为:

    NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3
    

    到:

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

    然后重试安装matplotlib:

    sudo pip install matplotlib
    

    这为我解决了!

    来源:https://www.mail-archive.com/macosx-port-dev@openjdk.java.net/msg00215.html

    【讨论】:

    • 这也解决了我的问题,我正在尝试构建 python。这个标题属于什么?升级并破坏此手动编辑的可能性有多大?
    • 我也遇到了这个错误,但是更改系统库头文件是一件非常不明智的事情——你不知道其他系统的东西依赖于此。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-24
      • 2017-04-05
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 2014-12-07
      • 2015-12-06
      相关资源
      最近更新 更多