如何使用Homebrew安装Py2Cairo等Python库

Loc*_*yer 9 python homebrew cairo

这是我到目前为止所做的:

我安装了Homebrew:

/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
Run Code Online (Sandbox Code Playgroud)

然后是python: brew install python

然后py2cairo: brew install py2cairo

这两个似乎都正确安装,当我输入which python我得到:usr/local/bin/python我认为是自制的版本.

我已经编辑了我的路径,正如许多Homebrew指南所建议的那样:

export PATH=/usr/local/bin:/usr/local/share/python:$PATH
Run Code Online (Sandbox Code Playgroud)

这是我得到的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 
Run Code Online (Sandbox Code Playgroud)

然而,毕竟这仍然无法将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
Run Code Online (Sandbox Code Playgroud)

我认为大多数人使用pipeasy_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
Run Code Online (Sandbox Code Playgroud)

我想我必须错过最后一步,我会以某种方式向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
Run Code Online (Sandbox Code Playgroud)

这是我跑步时得到的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)
Run Code Online (Sandbox Code Playgroud)

移动/System/Library/Frameworks/Python.framework/Versions到我的桌面,brew install py2cairo再次运行似乎已修复错误.很高兴知道为什么它正在建立对抗Lion的蟒蛇,因为它似乎并不是第一个在路上...

Rod*_*igo 6

我偶然发现了同样的错误.通过一些google搜索,我发现这个问题已经在问题页面上检测到GitHub上的项目.

这似乎是如何waf处理库导入的问题,我完全不了解.修复程序已提交并正在等待批准.

如果有人在接受修复之前仍遇到此问题,则可以按照此答案中提出的命令安装py2cairo的固定公式.

brew rm -f py2cairo
brew install  https://raw.githubusercontent.com/2bits/homebrew/15b3e67/Library/Formula/py2cairo.rb
Run Code Online (Sandbox Code Playgroud)

修复程序批准后,一个简单的brew update应该解决问题.

  • a4e87cd已经消失了,请尝试brew install https://github.com/2bits/homebrew/raw/15b3e67/Library/Formula/py2cairo.rb (3认同)
  • 仅供参考,它已在最新的Homebrew中修复.`brew update`和`brew rm -f py2cairo && brew install py2cairo`为我工作.谢谢所有调查此问题的人.你们拯救了我几个小时的麻烦. (2认同)