何时使用buildout:egg以及何时通过zc.recipe.egg安装?

chi*_*gsy 5 python buildout

似乎有不止一种方法可以将鸡蛋安装到buildout中.

方式1:

[buildout]
...
eggs = 
     eggname
     othereggname
...
Run Code Online (Sandbox Code Playgroud)

方式2:

[buildout]
...
parts = eggs

[eggs]
recipe = zc.recipe.egg
eggs = eggname
     = othereggname
Run Code Online (Sandbox Code Playgroud)

两种方式都有效.(方式2的变化是将每个要求作为单独的部分安装.)

这两种方法有什么区别?

对于我的项目,我正在使用djangorecipe和mr.developer构建.

Rei*_*ees 2

在这两种情况下,“eggs=”使这些鸡蛋可供该部分使用,这意味着它们正在被安装。

构建蛋不会得到任何额外的处理。

最大的区别是“recipe = zc.recipe.egg”还尝试为那里定义的所有鸡蛋创建脚本。(脚本意味着“console_scripts”入口点,而不是旧的 distutils“scripts=”,顺便说一句)

我通常的工作方式:我使用 [buildout] 中的鸡蛋来列出我最重要的鸡蛋(“myproject”)。在 djangorecipe 部分,我基本上有一个“eggs = ${buildout:eggs}”。

还有一个 [console_scripts] 部分与 zc.recipe.egg 配方一起,以明确我想要控制台脚本从那里的鸡蛋中出来。我在里面放了额外的工具,比如 pep8。