如果我在环境中提供一个嵌入了空格的变量,如下所示:
environment =
CPPFLAGS="-D_GNU_SOURCE -I${openssl:location}/include"我得到了这个错误:
ValueError:字典更新序列元素#%1的长度为% 1;需要%2
这是一个bug吗?有解决办法吗?
发布于 2011-06-30 00:10:37
这是zc.recipe.cmmi的一个缺点;它不能处理没有空格的环境变量。bugtracker for the recipe中提供了一个补丁程序。
除了应用补丁之外,我目前还不知道解决此问题的方法。您可以使用collective.recipe.patch食谱将补丁应用到现有的鸡蛋上,在这种情况下也应该有效(未尝试):
[buildout]
parts =
patch-z.r.cmmi
yourcmmipart
[patch-z.r.cmmi]
recipe = collective.recipe.patch
egg = zc.recipe.cmmi <= 1.3.4
patch = patches/environ_section_trunk_r101308.patch这里假设您有一个包含下载的patches补丁的bug bug目录。该部件需要在您的cmmi部件之前列出,以便在该部件之前执行(或者您可以构建一个依赖项)。
发布于 2011-06-30 22:31:14
另一种解决方案是滥用食谱的“configure-command”,如下所示:
[buildthis]
recipe = zc.recipe.cmmi
...
configure-command =
export CPPFLAGS="-D_GNU_SOURCE -I${openssl:location}/include";
./configurehttps://stackoverflow.com/questions/6522036
复制相似问题