在 OS X 上安装 python cairo

install python cairo on OS X

我想 运行 some library 使用 cairocffi 包。

但是,当我尝试 运行 时,我得到:

OSError: dlopen() failed to load a library: cairo / cairo-2 /

所以我使用 'brew install cairo' 安装了 cairo。 然后我尝试安装py2cairo(1.10.0),(使用waf)并得到

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在 google 中查找此错误会给出很多页面,但与 Xcode 有关。终于找到了this (later also this。然后我可以使用'./waf install'安装py2cairo。

但我仍然有同样的错误,所以我去了 cairocffi/init.py 并将第 46 行从:

cairo = dlopen(ffi, 'cairo', 'cairo-2')

至:

cairo = dlopen(ffi, 'cairo', 'cairo-2', 'py2cairo')

错误仅更改为:

OSError: dlopen() failed to load a library: cairo / cairo-2 / py2cairo

我看不到它是否安装正确,但可能没有,因为我没有看到它使用

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

我可以理解,因为我安装它时没有使用 pip。但我也无法使用 'import cairo' 或 'import py2cairo'.

在 python 控制台中导入它

我尝试了 'brew install cairo',得到了 'cairo-1.14-0 already installed'。我试过安装py2cairo-1.10.0,会不会是问题的根源?

我使用 Python 2.7.3 并且有 OS X 10.10.5.

我不知道为什么,但重新安装 python 有帮助。 我更新到2.7.11,整个过程很顺利