在 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,整个过程很顺利
我想 运行 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,整个过程很顺利