有没有人有尝试使用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 ......)让我知道。
答案 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
)。
这是获得表现不佳/奇怪表现的一般舞蹈。如果这不起作用,那么一个专门的配方可能是有序的,但一般来说有一种方法可以让它与上面的一起工作,这将更加可维护。