以下是我目前完成的工作:
我已经安装了Homebrew:
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
然后安装Python:brew install python
然后安装py2cairo:brew install py2cairo
这两个似乎都安装成功了,当我输入which python
时,我得到的是:usr/local/bin/python
,我相信这是Homebrew的版本。
我已经按照许多Homebrew指南的建议编辑了我的路径:
export PATH=/usr/local/bin:/usr/local/share/python:$PATH
以下是我从
echo $PATH
中得到的内容:/usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
。我还可以输入
python --version
并得到python 2.7.3
,这似乎是正确的,因为如果我查看/usr/local/Cellar/py2cairo/1.10.0/README
,它会说:Dependencies
------------
cairo >= 1.10.0
Python >= 2.6
然而,尽管进行了上述操作,我仍无法将py2cairo库导入python。当我尝试导入时,会出现以下情况:
Sal:~ Lockyer$ python
Python 2.7.3 (default, May 6 2012, 13:47:31)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6
我认为大多数人在这种情况下使用 pip
或 easy_install
,但我不认为这些工具支持 py2cairo。运行 pip-2.7 install py2cairo
时出现以下结果:
Downloading/unpacking py2cairo
Could not find any downloads that satisfy the requirement py2cairo
No distributions at all found for py2cairo
Storing complete log in /Users/Lockyer/Library/Logs/pip.log
我认为我可能只是错过了一个最后的步骤,需要想办法告诉Python从哪里导入库...我是否忘记将某些内容添加到我的路径中?
当我运行ls -l /usr/local/bin/python
时,这是我得到的结果:
lrwxr-xr-x 1 Lockyer admin 33 6 May 13:48 /usr/local/bin/python -> ../Cellar/python/2.7.3/bin/python
当我运行 otool -L /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so
时,我得到以下结果:
/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so:
/private/tmp/homebrew-py2cairo-1.10.0-BtmY/py2cairo-1.10.0/build_directory/src/_cairo.so (compatibility version 0.0.0, current version 0.0.0)
/usr/local/Cellar/cairo/1.10.2/lib/libcairo.2.dylib (compatibility version 11003.0.0, current version 11003.2.0)
/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.1)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
将
/System/Library/Frameworks/Python.framework/Versions
移动到我的桌面,并再次运行brew install py2cairo
似乎已经解决了错误。但不知道为什么它会构建依赖Lion的python,因为它似乎不是路径中的第一个...