在尝试部署许多使用 zc.buildout 的项目时,我们遇到了问题——特别是我们发现他们想要将他们的PYTHON_EGG_CACHE
目录放在整个节目中。我们想以某种方式将此目录设置为与内置项目相同级别的目录,eggs
可以在其中找到。
网上有人提到这可以用于 Plone 项目,但是没有 Plone 是否可以做到这一点?
是否有一些配方可以设置环境变量,以便我们可以在其中设置PYTHON_EGG_CACHE
可执行文件./bin
?
在尝试部署许多使用 zc.buildout 的项目时,我们遇到了问题——特别是我们发现他们想要将他们的PYTHON_EGG_CACHE
目录放在整个节目中。我们想以某种方式将此目录设置为与内置项目相同级别的目录,eggs
可以在其中找到。
网上有人提到这可以用于 Plone 项目,但是没有 Plone 是否可以做到这一点?
是否有一些配方可以设置环境变量,以便我们可以在其中设置PYTHON_EGG_CACHE
可执行文件./bin
?
PYTHON_EGG_CACHE 仅用于压缩鸡蛋,最好的办法是让 zc.buildout 安装所有需要的解压缩鸡蛋:
[buildout]
...
unzip = true
如果您的系统 python 安装了压缩鸡蛋,但仍需要解压缩以访问资源,并且在脚本中设置 PYTHON_EGG_CACHE 是您唯一的选择(而不是为您的用户设置环境变量),您可以尝试使用initialization
zc 选项。 recipe.egg 将任意 Python 代码添加到您的脚本中:
[a-part]
recipe = zc.recipe.egg
...
initialization =
import os
os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
我不确定你是什么意思。您通常拥有的三个选项:
默认情况下,Buildout 将鸡蛋存储在eggs/
buildout 目录中的一个目录中。
您可以将eggs-dir
buildout.cfg[buildout]
部分中的变量设置为某个目录。只需告诉它放置它们的位置即可。
.buildout/defaults.cfg
您还可以在主目录中设置相同的选项。这样您就可以为所有项目设置默认值。方便将所有鸡蛋存储在一个地方:例如,这可以节省大量下载时间。
其中之一(尤其是最后一个)是否完成了您想要的?
并且:不要在生成的bin/*
文件中乱扔鸡蛋。让 buldout 挑选鸡蛋,这就是它的目的。