如何使用默认python在Mac OSX上安装PyCairo 1.10

2024-05-28 20:54:51 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有人使用新的waf版本在mac上安装了pycairo 1.10?它的失败在找不到python头。


Tags: 版本macwafpycairo
3条回答

安卓的这一步几乎成功了。 需要使用(来自llimllib):

export ARCHFLAGS='-arch x86_64'

在步骤5中,然后python waf install可以成功。

对于任何人回到这里,我能够得到py2cairo安装在OSXLion上,方法略有不同,基于llimllib的链接。希望这有助于:

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

我认为Mac OS X的waf已经严重损坏了

这就是它对我的作用。在python waf configure找不到Python.h之后,我查看了位于build_目录中的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,请执行以下操作:

  1. brew install cairo(截至今天的版本1.10.2
  2. 获取python 2.x的pycairo源代码(如果获得快照,它将命名为py2cairo,而pycairo现在需要python 3.x)。我使用了来自masterbranch的源代码(commit f3435910d8f5365b45ebd4216f4043383c9e3e19)
  3. 在您选择的编辑器中打开wscript,找到函数configure中的env = ctx.env行,并在下面添加以下行

    env.append_unique('CFLAGS', ['-arch', 'x86_64'])

  4. 保存文件

  5. 在终端中运行以下命令:

    export CC=/usr/bin/gcc

    export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/

    重要提示:只有通过自制程序安装cairo,后一条路径才适用

  6. 然后运行pycairo安装文件中描述的waf命令:

    python waf configure

    python waf build

    python waf install

这样就可以了。如果这对你不起作用,我认为最好在pycairo邮件列表中提出这个主题(如果它有)。

相关问题 更多 >

    热门问题