有没有人使用新的waf构建在mac上安装了pycairo 1.10?它的失败无法找到python头。
答案 0 :(得分:13)
我认为waf严重破坏了Mac OS X :(
以下是它对我有用的方式。在python waf configure
找不到Python.h后,我查看了 build_directory 中的 config.log 文件,发现失败的真正原因是架构不兼容。 waf脚本尝试使用i386架构在其中构建一个包含CPython调用的简单源文件。它没有这样做,因为我的python是为x86_64架构而构建的。
我想,你可以将python重建为通用二进制文件,我没试过。但是,可以使用x86_64架构构建pycairo。这是怎么回事。
我的设置:
$ python --version
Python 2.7.2
$ type python
python is /usr/local/bin/python
$ file /usr/local/bin/python
/usr/local/bin/python: Mach-O 64-bit executable x86_64
$ brew --version
0.8
Importrant:我的python版本是为x86_64
架构而构建的。在执行下述步骤之前,请确保您也是如此。
brew代表homebrew。您必须使用它而不是fink或MacPorts才能使以下步骤适合您。
现在,要安装cairo和pycairo,我会执行以下操作:
brew install cairo
(版本 1.10.2 截至今天)在您选择的编辑器中打开wscript
,找到函数env = ctx.env
中的行configure
并在其下方添加以下行
env.append_unique('CFLAGS', ['-arch', 'x86_64'])
保存文件
在终端中运行以下命令:
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
重要提示:如果您通过自制软件安装cairo,后一条路径只适用于您
然后运行pycairo的INSTALL文件中描述的waf命令:
python waf configure
python waf build
python waf install
这应该这样做。如果它不适合你,我认为最好在pycairo邮件列表上提出这个话题(如果有的话)。
答案 1 :(得分:12)
对于任何回到这里的人来说,基于llimllib的链接,我能够以稍微不同的方式在OSX Lion上安装py2cairo。希望这会有所帮助:
python waf clean
export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7/lib:$LD_LIBRARY_PATH
export LINKFLAGS='-search_dylibs_first -L /Library/Frameworks/Python.framework/Versions/2.7/lib/'
export ARCHFLAGS='-arch x86_64'
export CC=/usr/bin/gcc-4.2
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
python waf configure --prefix=$PYTHONPATH
python waf build
python waf install
答案 2 :(得分:3)
android的步骤几乎可行。 一个人需要使用(来自llimllib):
export ARCHFLAGS='-arch x86_64'
在步骤5中,然后python waf install
可以成功。