1

在尝试部署许多使用 zc.buildout 的项目时,我们遇到了问题——特别是我们发现他们想要将他们的PYTHON_EGG_CACHE目录放在整个节目中。我们想以某种方式将此目录设置为与内置项目相同级别的目录,eggs可以在其中找到。

网上有人提到这可以用于 Plone 项目,但是没有 Plone 是否可以做到这一点?

是否有一些配方可以设置环境变量,以便我们可以在其中设置PYTHON_EGG_CACHE可执行文件./bin

4

2 回答 2

4

PYTHON_EGG_CACHE 仅用于压缩鸡蛋,最好的办法是让 zc.buildout 安装所有需要的解压缩鸡蛋:

[buildout]
...
unzip = true

如果您的系统 python 安装了压缩鸡蛋,但仍需要解压缩以访问资源,并且在脚本中设置 PYTHON_EGG_CACHE 是您唯一的选择(而不是为您的用户设置环境变量),您可以尝试使用initializationzc 选项。 recipe.egg 将任意 Python 代码添加到您的脚本中:

[a-part]
recipe = zc.recipe.egg
...
initialization = 
    import os
    os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
于 2011-01-14T18:53:21.753 回答
0

我不确定你是什么意思。您通常拥有的三个选项:

  • 默认情况下,Buildout 将鸡蛋存储在eggs/buildout 目录中的一个目录中。

  • 您可以将eggs-dirbuildout.cfg[buildout]部分中的变量设置为某个目录。只需告诉它放置它们的位置即可。

  • .buildout/defaults.cfg您还可以在主目录中设置相同的选项。这样您就可以为所有项目设置默认值。方便将所有鸡蛋存储在一个地方:例如,这可以节省大量下载时间。

其中之一(尤其是最后一个)是否完成了您想要的?

并且:不要在生成的bin/*文件中乱扔鸡蛋。让 buldout 挑选鸡蛋,这就是它的目的。

于 2010-10-26T17:59:03.920 回答