Wes*_*pse 1 python macos easy-install cairo pycairo
我想在Mac OSX Lion上为Cairo安装Python绑定,以便我可以将它们与Python 2.7的Apple版本一起使用.我倾向于使用Python模块等安装easy_install,但在这种情况下似乎不起作用:
$ sudo easy_install pycairo
Searching for pycairo
Reading http://pypi.python.org/simple/pycairo/
Reading http://cairographics.org/pycairo
Best match: pycairo 1.10.0
Downloading http://cairographics.org/releases/pycairo-1.10.0.tar.bz2
Processing pycairo-1.10.0.tar.bz2
error: Couldn't find a setup script in /tmp/easy_install-BYpm4Y/pycairo-1.10.0.tar.bz2
Run Code Online (Sandbox Code Playgroud)
Stack Overflow上的其他地方也有类似的问题,但答案并没有解释我在这里做错了什么.
这个问题与Python 2.6有关,接受的答案使用Macport而不是easy_install,而另一个答案似乎是建议使用我上面尝试的方法(失败):
这个问题涉及从源代码构建pycairo,我不想这样做:
首先,您几乎总是希望使用pip而不是easy_install尽可能使用.并且"只要有可能"几乎意味着"除了pip自己以外的一切,而且readline." Apple没有预先安装pip,但您可以sudo easy_install pip随时随地sudo easy_install foo使用sudo pip install foo.
其次,pycairo需要Python 3.1+.你想要py2cairo的是Python 2.6-2.7的版本.由于没有PyPI包,你必须下载它或手动git克隆它.但幸运的是,pip这会自动为您做到:sudo pip install http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2或sudo pip install git+https://git.cairographics.org/git/py2cairo.
不幸的是,并非一切都可以通过安装pip或easy_install.如果其中任何一个失败,您必须阅读PyPI页面,主页或项目文档.
在的情况下pycairo,它不能成为理由easy_install/ pip installED是它的建成使用waf,而不是distutils(没有人写了一个distutils围绕包装waf版本).但你真的不在乎为什么它不起作用,只是你要做的事情.
好吧,说明书告诉你你要做什么.你可能认为你不想从源代码构建,但这正是pip通常所做的(同样easy_install),所以它不是害怕的东西.
但所有这些都是主要问题的次要问题:pycairoPython模块需要cairo库(以及同样pixman),而您没有.(实际上,根据您的OS X版本,您可能有一个无法在外部链接的私有版本,或者一个对于pycairo来说不够好的旧版本,或者根本没有版本......但是这三个中的任何一个都等同于就你而言.)
所以你必须先从某个地方获得它pycairo才能建成.(而且,即使你在其他地方制作了一个副本,你也无法使用它.)
与文档建议相反,我使用Homebrew而不是MacPorts进行安装cairo.MacPorts旨在构建一套完全独立的工具 - 所以如果你想安装它就cairo可以将MacPorts安装pycairo到你的MacPorts中/opt/local/bin/python,但是如果你希望为pycairo苹果公司的产品而建立它,那就太好了/usr/bin/python.