转储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)

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,作者

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
eclipse如何在Java中定义main(String[]args)而不出现警告和错误?   java获取正则表达式匹配后的文本   java什么是Gradle深度解释中的buildbyconvention?   java不允许用户更改文本字段   java为aws lambda中的代码生成swagger文件   Android java。网UnknownHostException:主机未解析:服务器地址:443   java onBackPressed()完成我的活动   电子邮件中的java语言环境   面向匿名用户的java Tomcat/spring会话管理   java在参考资料中添加docx文件并创建可执行jar   plsql使用Java执行plsql   使用lambda表达式更新嵌套列表:Java 8   静态数据的java短期与长期