何时使用buildout:eggs,何时通过zc.recipe.egg安装?
看起来有不止一种方法可以把“蛋”安装到构建环境中。
方法一:
[buildout]
...
eggs =
eggname
othereggname
...
方法二:
[buildout]
...
parts = eggs
[eggs]
recipe = zc.recipe.egg
eggs = eggname
= othereggname
这两种方法都可以用。(方法二的变体是把每个需求作为一个单独的部分来安装。)
这两种方法有什么区别呢?
在我的项目中,我使用的是带有djangorecipe和mr.developer的buildout。
1 个回答
2
在这两种情况下,"eggs=" 让这些包可以在那个部分使用,也就是说它们会被安装。
构建时的包不会有额外的处理。
最大的不同在于 "recipe = zc.recipe.egg" 还会尝试为所有在那里的包创建脚本。(这里的脚本是指“console_scripts”入口点,而不是旧的distutils中的“scripts=”)
我通常的工作方式是:在 [buildout] 中列出我最重要的包(比如“myproject”)。在 djangorecipe 部分,我基本上是写了 "eggs = ${buildout:eggs}"。
还有一个 [console_scripts] 部分,使用 zc.recipe.egg 这个配方,明确表示我想从那些包中生成控制台脚本。我会把像 pep8 这样的额外工具放在里面。