Plone 为什么buildout每次运行时都会删除我的instance/etc和Extensions文件夹?

Plone 为什么buildout每次运行时都会删除我的instance/etc和Extensions文件夹?,plone,buildout,Plone,Buildout,每次我运行buildout添加产品蛋时,它都会删除parts下的所有内容 人们如何处理此问题?更新:若要仅向实例注册一个新的egg,可以使用buildout的install命令仅生成以下特定部分: buildout install instance “为什么buildout每次运行时都会删除我的instance/etc和Extensions文件夹?” ->因为这就是构建的目的:以构建配置文件中定义的方式自动构建部件。 我想,不删除以前的目录和文件很容易导致冲突和错误。有人能证实吗 “人们是如

每次我运行buildout添加产品蛋时,它都会删除parts下的所有内容


人们如何处理此问题?

更新:若要仅向实例注册一个新的egg,可以使用buildout的install命令仅生成以下特定部分:

buildout install instance

“为什么buildout每次运行时都会删除我的instance/etc和Extensions文件夹?”

->因为这就是构建的目的:以构建配置文件中定义的方式自动构建部件。 我想,不删除以前的目录和文件很容易导致冲突和错误。有人能证实吗

“人们是如何处理的?”

->通过根本不在部件目录中放置任何内容;)不,说真的,不建议这样做


您的具体用例是什么?

您可以直接在构建中定制zope.conf。此外,在Plone 4中,不再创建扩展,您可以将其放在其他地方


例如,这将把您现有的外部方法移动到一个egg中,这样您就可以将它们放在svn中,并像处理代码一样管理它们。

正如前面所指出的,您不应该将任何自定义设置直接放在“parts”目录中。你需要把它放在别处

现在通常不需要扩展方法,但如果您希望使用它们,您有两种选择:

选项1 在您自己的产品中创建扩展文件夹。将模块放在“my.product/my/product/Extensions/mymodule.py”并在ZMI中将其引用为“my.product.mymodule”

选项2 使用plone.recipe.zope2instance中的“zope conf additional”参数为Extensions文件夹添加另一个位置,如下所示:

[instance]
recipe = plone.recipe.zope2instance
...
zope-conf-additional = extensions ${buildout:directory}/Extensions

这是一个特性,而不是一个bug;你通过不编辑任何部分来处理它。这是一个糟糕的“特性”。为什么plone.recipe.zope2instance不能更新zope.conf(如果已修改)?或者保留扩展文件夹(如果存在)?向构建添加一个egg并不意味着您丢失了所有保存的外部方法。我所有的外部方法都消失了。我定制的zope.conf不见了。只是因为我想添加一个鸡蛋来测试它。您应该将zope.conf视为自动生成的。永远不要直接编辑它。通过构建配置指令自定义Zope设置。而且,可能没有理由使用外部方法,因为Plone 3使Python包的使用变得很容易。。。我只想加一个鸡蛋。这应该只是将相关路径添加到解释器脚本中。为什么这需要重新创建zope.conf文件?我们没有删除Data.fs,是吗?以同样的方式,zope.conf文件也不应被视为临时工件。就我的2美分!明白你的意思。也许写一个脚本会很酷,它只会实现鸡蛋注册。如果可能的话,有人知道吗?这个答案建议不要在部件部分包含您只想构建一次的部件,而是使用buildout的“安装”选项构建一次:@sureshvv:您尝试过吗?这是最明智的方法,伊姆霍:鸡蛋,鸡蛋,鸡蛋;)即使你不使用上面提到的产品并自己转让,我认为Yuris的回答还是值得接受的+我也提供了一些有用的信息。谢谢和+1