使用buildout安装pycairo或py2cairo

时间:2011-09-09 13:01:40

标签: django cairo buildout recipe pycairo

有没有人有尝试使用buildout为django安装cairo的经验? 它将安装pycairo或py2cairo(第一个用于python> 3.0,最新版本用于python 2.6,我正在使用)

我找到了两个用于安装的配方,它们都给了我错误,在buildout.cfg中我将它们作为2个部分(当然单独尝试它们,而不是一起)。 错误完全不同,但结果是一样的:我无法使用buildout安装cairo .......

基于:http://pypi.python.org/pypi/tl.buildout_gtk/

[cairo_tl]
recipe = tl.buildout_gtk
#pycairo-url = http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2
pycairo-url =   http://cairographics.org/releases/py2cairo-1.8.10.tar.gz
pycairo-md5sum = http://cairographics.org/releases/py2cairo-1.8.10.tar.gz.md5

基于:https://bitbucket.org/lgs/yaco.recipe.pycairo

[cairo_yaco]  
recipe = yaco.recipe.pycairo  
find-links = http://pypi.python.org/pypi/yaco.recipe.pycairo/0.1.1  
#find-links = http://pypi.python.org/pypi/yaco.recipe.pycairo/0.1  
# pkg-config-path ?

两者都需要本地安装的cairo(pycairo和py2cairo依赖于此): 所以在服务器上使用:

sudo apt-get install libcairo2-dev

jusing tl.buildout_gtk:

的部分

使用py2cairo-1.10.0或pycairo-1.8.2给我一个MD5校验和不匹配 (参见可用版本:http://cairographics.org/releases/) e.g:

Error: MD5 checksum mismatch downloading 'http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2'

或:

Error: MD5 checksum mismatch downloading 'http://cairographics.org/releases/py2cairo-1.8.10.tar.gz'

关于yaco的部分:

我很确定这部分配置不正确(pkg-config-path引用本地cairo包),但我甚至没有达到这一点。 它给出了一个错误:

DistributionNotFound: zc.recipe.cmmi

然而,这是安装在鸡蛋

顺便说一句,我在尝试通过buildout安装PIL时遇到了同样的头痛,我解决了在互联网上结合了很多选项和帖子,以及大量的时间,试验和错误。 如果有人想知道我最终是如何工作的,那就问一下,我会发布它。 (我认为myselve仍然是django的首发,所以我不确定是否有人对该解决方案感兴趣)

PIL没有我在cairo中找到的所有选项,所以我开始使用cairo。在我的本地PC上一切正常(ubuntu桌面),在我的服务器(Ubuntu服务器)上我无法让它工作...... 任何其他制作图纸的选项.....(就像matplotlib ......)让我知道。

2 个答案:

答案 0 :(得分:2)

非常确定你必须给pycairo-md5选项提供真正的md5哈希值,而不是带有一些url的字符串。

答案 1 :(得分:1)

我会尽可能避免像这两个人那样的专门食谱。在某些情况下,确实需要专门的配方,但这些情况下依赖性非常偏心,以至于没有可用的通用构建/安装模式。我不知道pycairo所以可能就是这样。

但在假设之前,请尝试以下方法。始终首先尝试使用鸡蛋,将其添加到相关构建部分的eggs选项中。如果这不起作用,请使用这些详细信息更新您的问题,然后尝试添加单独的zc.recipe.egg部分build options,这可能有助于成功构建分发。如果这不起作用或分发使用./configure && make && make install(AKA“CMMI”)构建系统,请使用这些详细信息更新您的问题,然后尝试使用zc.recipe.cmmi构建程序包,之后您可以使用zc.recipe.egg部分的extra-paths选项包含CMMI部分的相关位(extra-paths = ${cmmi-part:location}/weird/path/to/python/modules)。

这是获得表现不佳/奇怪表现的一般舞蹈。如果这不起作用,那么一个专门的配方可能是有序的,但一般来说有一种方法可以让它与上面的一起工作,这将更加可维护。