转储BuildOut选择的版本。
buildout.dumppickedversions的Python项目详细描述
buildout.dumppicked版本
问:什么是扩建?
答:http://pypi.python.org/pypi/zc.buildout#extensions
问题
当使用基于zc.buildout的部署系统时,您希望能够 一个月后用同一套蛋复制相同的设置。 如果不把所有的鸡蛋都钉死,这项任务是不可能的。
溶液
buildout.dumppickedversions是一个这样做的构建扩展。它 可以打印或生成包含所有未固定鸡蛋的versions.cfg文件。
它还会在zc.buildout选择的每个鸡蛋之前添加一个注释,作为 其他包含所需鸡蛋列表的鸡蛋。
buildout.dumppickedversions需要zc.buildout 1.5或更高版本。
buildout.dumppickedversions选项
- 转储选择的版本文件
- 要写入的文件名buildout.dumppickedversions。 如果未给定buildout.dumppickedversions,则会将版本转储到 屏幕。
- 覆盖选定的版本文件
- 如果设置为true,则buildout.dumppickedversions将覆盖文件 如果存在,则在{TT7}$中定义。默认为真。
详细文档
让我们创建一个鸡蛋用于我们的测试:
>>> mkdir('myegg') >>> write('myegg', 'setup.py', ... ''' ... from setuptools import setup ... setup(name='myegg', version='1.0',) ... ''') >>> write('myegg', 'README', '') >>> print system(buildout+' setup myegg bdist_egg'), # doctest: +ELLIPSIS Running setup script 'myegg/setup.py'. ...
现在让我们创建一个构建来安装egg并使用 buildout.dumppicked版本:
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions ... parts = foo ... find-links = %s ... index = http://pypi.python.org/simple ... [foo] ... recipe = zc.recipe.egg ... eggs = myegg ... ''' % join('myegg', 'dist'))
运行构建将打印有关所选版本的信息:
>>> print system(buildout), # doctest: +ELLIPSIS Getting distribution for 'buildout.dumppickedversions'. ... *************** PICKED VERSIONS **************** [versions] myegg = N.N setuptools = N.N zc.buildout = N.N zc.recipe.egg = N.N <BLANKLINE> *************** /PICKED VERSIONS ***************
要将选择的版本转储到文件中,只需添加一个dump-picked-versions-file 选项并提供文件名:
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions ... dump-picked-versions-file = versions.cfg ... parts = foo ... find-links = ... %s ... index = http://pypi.python.org/simple ... [foo] ... recipe = zc.recipe.egg ... eggs = ... myegg ... ''' % join('myegg', 'dist')) >>> print system(buildout), # doctest: +ELLIPSIS Uninstalling foo. Installing foo. ********************************************* Writing picked versions to versions.cfg *********************************************
这里是versions.cfg文件的内容:
>>> cat('versions.cfg') [versions] myegg = N.N setuptools = N.N zc.buildout = N.N zc.recipe.egg = N.N <BLANKLINE>
下次运行构建时,文件将被覆盖:
>>> print system(buildout), # doctest: +ELLIPSIS Updating foo. ********************************************* Overwriting versions.cfg *********************************************
当我们不想覆盖文件时,只需添加 overwrite-picked-versions-file并将其设置为false:
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions ... dump-picked-versions-file = versions.cfg ... overwrite-picked-versions-file = false ... parts = foo ... find-links = ... %s ... index = http://pypi.python.org/simple ... [foo] ... recipe = zc.recipe.egg ... eggs = ... myegg ... ''' % join('myegg', 'dist')) >>> print system(buildout), # doctest: +ELLIPSIS Updating foo. ********************************************* Skipped: File versions.cfg already exists. *********************************************
如果安装了egga作为对其他鸡蛋的要求,您将得到一条评论 在鸡蛋前面排上需要的鸡蛋清单。
让我们举个例子。我们将安装zope.component:
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions ... dump-picked-versions-file = versions.cfg ... parts = foo ... index = http://pypi.python.org/simple ... [foo] ... recipe = zc.recipe.egg ... eggs = zope.component ... ''') >>> print system(buildout), # doctest: +ELLIPSIS Uninstalling foo. Installing foo. Getting distribution for 'zope.component'. ... ********************************************* Overwriting versions.cfg *********************************************
让我们看看versions.cfg文件的内容:
>>> cat('versions.cfg') [versions] zc.buildout = N.N zc.recipe.egg = N.N zope.component = N.N zope.interface = N.N <BLANKLINE> #Required by: #zope.event N.N #zope.interface N.N #zope.component N.N setuptools = N.N <BLANKLINE> #Required by: #zope.component N.N zope.event = N.N
更改历史记录
0.5(2012-01-23)
- 性能优化,避免排序工作集和 不记录时的要求。从zc.buildout端口: http://svn.zope.org/zc.buildout/trunk?rev=124059&view=rev [罗斯普]
0.4(2009-05-03)
- 删除了重复的注释行[mustapha]
0.3(2009-05-03)
- 在生成的版本文件中添加了关于什么鸡蛋的注释 如果有的话就要摘鸡蛋。[穆斯塔法]
0.2(2009-03-15)
- 从转储文件[mustapha]中删除了buildout头文件
- 添加了覆盖选择的版本文件选项[mustapha]
0.1(2009-02-07)
- 用佐培克尔做的食谱。 [穆斯塔法]
贡献者
- Mustapha Benali,作者