无法在Mac OSX上安装py2cairo

时间:2012-06-10 01:01:29

标签: python macos homebrew waf

我正在尝试使用brew在python 2.7.3的框架构建(Mac OSX Lion)上安装py2cairo。到目前为止我还没有成功。

首先,我尝试了一个简单的

brew install py2cairo

这似乎只适用于python的非框架构建。当我使用不兼容的二进制错误导入cairo时,在我的框架上执行此操作构建python错误。

其次,我试图通过从github抓取并发布:

来自己构建它
python waf configure

这失败了:

Checking for library python2.7           : not found 
Checking for library python2.7           : not found 
Checking for library python2.7           : not found 
Checking for library python27            : not found 
Checking for program python2.7-config    : /usr/local/Cellar/python/2.7.3/bin/python2.7-   config 
Checking for header Python.h             : Could not find the python development headers 
The configuration failed
(complete log in /Users/tobin/tmp/py2cairo/build_directory/config.log)

我已尝试过所有内容:How to install PyCairo 1.10 on Mac OSX with default python但这些都没有帮助。

在我看来,这可能无法找到python2.7库和头文件,因为它是一个框架构建。那可能吗?我正在研究brew公式,看起来框架构建在构建时没有得到--enable-share set。我不确定这是否相关 - 但也许是一种可能性。

任何其他见解都会很棒。提前谢谢。

UPDATE:

我发现无法构建py2cairo与gcc使用“-march = native”标志有关。 Mac OSX上的gcc(4.2.1)存在此问题。然后我重新安装了gcc以及python。之后用waf构建py2cairo时 - 得到了“-march = core2”,所有内容都已构建完毕。

不幸的是,并非一切都很好。当我从brew版本导入cairo时,我得到了同样的错误(如上所述)。确切的错误消息是:

>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6

然后python退出。

现在看来,这个问题与python的框架构建有关。我在没有框架构建的情况下对其进行了测试,并且工作正常。

1 个答案:

答案 0 :(得分:0)

为了不让这个问题悬而未决......我想跟进我的决议和学习要点:

  1. 如上所述,我的OSX版本与名为-march = native的gcc编译标志不兼容。在后来的版本中它出现了-march = core2。在清理我的机器之后,这几乎修复了编译器/版本的变化。

  2. 多年来,我对各种MAC OSX安装都非常混乱 - 并且接受了“迁移选项”。两台机器之前 - 我为版本2.4和2.5安装了python二进制文件,然后由于各种原因最终进入了macports。然后最终去了自制软件。当我去自制软件时,我试图用手清理东西(但当然这可能很有挑战性)。更糟糕的是 - 每次我在过去的6年中获得一个新的mac(2次)时,我会选择“迁移安装”选项,这会让事情变得更加糟糕。所以当我开始进一步研究时 - 我有各种各样的python安装,有不同的版本 - mac-native,python-native,mac ports,homebrew,甚至可能是我的系统上的其他版本。所以我最好的猜测是,cairo在某种程度上找到了其中一个,并试图建立起来。

  3. 我终于通过手工删除一堆旧的python安装来解决这个问题,然后重新开始使用新的virtualenv和自制的python 2.7安装。

    警告:我认为这不是最明智的选择。我小心翼翼地不删除我认为是OSX Lion原生的Python版本(我认为它是2.6) - 但目前尚不清楚它可能会影响其他一些可能依赖于python的旧版mac安装的东西。我最终删除了2.3,2.4和两个不同的2.5 - 以及某些地方的各种链接。真是一团糟!除非你完全确定你在做什么(我不是这样),否则我不会建议这种做法。我基本上试图杀死已经收集的6年的python安装问题。

    为了安全起见,我可能应该从一个新的OSX Lion安装开始,然后添加我的自制软件版本并从那里开始。我很可能会在不久的将来这样做。