我正在尝试使用 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 。我不确定这在这里是否相关——但也许是一种可能性。
任何其他见解都会很棒。提前致谢。
更新:
我发现无法构建 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 的框架构建有关。我在没有构建框架的情况下对其进行了测试,并且效果很好。