我想在使用brew构建的Python 2.7.3框架(Mac OSX Lion)上安装py2cairo,但到目前为止一直不成功。
首先,我尝试了一个简单的命令:
brew install py2cairo
这种方法似乎只适用于非框架构建的Python。当我在我的框架构建Python上这样做时,只要我导入cairo就会出现不兼容二进制错误。
其次,我尝试从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)
我已经尝试了所有方法,位于以下链接:如何在Mac OSX上使用默认的Python安装PyCairo 1.10,但这些方法都没有帮助到我。
在我看来,这可能是由于它是一个框架构建而导致无法找到python2.7库和头文件。这有可能吗?我查看了brew公式,发现框架构建在构建时没有设置--enable-share选项。我不确定这是否与此相关 - 但也许是一种可能性。
如果有其他见解,请告诉我。提前感谢您。
更新:
我发现无法构建py2cairo是由于gcc使用了"-march=native"标志。Mac OSX上的gcc(4.2.1)存在问题。然后我重新安装了gcc和python。之后使用waf构建py2cairo时,它获得了“-march=core2”,并且所有内容都已构建完成。
不幸的是,还不是完全好。当我从构建版本中导入cairo时,出现了与brew版本相同的错误(如上所述)。确切的错误消息是:
>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6
然后Python就退出了。
现在看起来问题与Python的框架构建有关。我测试了没有框架构建,它可以正常工作。