导出buildout 2选定的版本。
项目描述
buildout.dumppickedversions2
buildout.dumppickedversions2 是一个简单的buildout扩展,模仿了 buildout.dumppickedversions 的功能,适用于buildout版本2.0.1或更高版本。
问题和解决方案
在将buildout升级到版本2后,您会注意到 buildout.dumppickedversions 的使用已被禁用。这样做是因为 buildout.dumppickedversions 的一部分功能已被集成到buildout中。
然而,buildout.dumppickedversions 的覆盖行为尚未集成。此扩展通过猴子补丁内置版本导出,使其更类似于 buildout.dumppickedversions。
一个额外的优点是配置选项没有改变。这意味着升级您的buildout文件只需要将数字“2”添加到 extensions = buildout.dumppickedversions。
buildout.dumppickedversions2 需要 zc.buildout 2.0.1 或更高版本。
buildout.dumppickedversions2 选项
- dump-picked-versions-file
您希望 buildout.dumppickedversions 写入的文件名。如果没有给出,buildout.dumppickedversions 将将版本输出到屏幕。这种行为现在已内置到buildout中,可以通过将 show-picked-versions 设置为 true 而无需扩展来启用。
- overwrite-picked-versions-file
如果设置为 true,buildout.dumppickedversions 将会覆盖在 dump-picked-versions-file 中定义的文件(如果存在)。默认值为 True。
详细文档
让我们创建一个 egg,以便在我们的测试中使用它
>>> mkdir('myegg') >>> write('myegg', 'setup.py', ... ''' ... from distutils.core import setup ... setup(name='myegg', version='1.0') ... ''') >>> write('myegg', 'README', '') >>> print system(buildout + ' setup myegg bdist_egg') Running setup script 'myegg/setup.py'. ...
创建一个 buildout 并使用 buildout.dumppickedversions2
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions2 ... parts = myegg ... find-links = https://pypi.python.org/simple/zc.recipe.egg/ ... %s ... [myegg] ... recipe = zc.recipe.egg ... eggs = myegg ... ''' % join('myegg', 'dist'))
运行 buildout 将会打印关于选择版本的信息
>>> print system(join('bin', 'buildout')) Develop distribution: buildout.dumppickedversions2 N.N ... Versions had to be automatically picked. The following part definition lists the versions picked: [versions] myegg = N.N setuptools = N.N zc.recipe.egg = N.N ...
要将选择的版本输出到文件,我们只需添加一个 dump-picked-versions-file 选项并指定文件名
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions2 ... dump-picked-versions-file = versions.cfg ... parts = myegg ... find-links = https://pypi.python.org/simple/zc.recipe.egg/ ... %s ... [myegg] ... recipe = zc.recipe.egg ... eggs = myegg ... ''' % join('myegg', 'dist')) >>> print system(buildout) Develop distribution: buildout.dumppickedversions2 N.N ... Updating myegg. Picked versions have been written to versions.cfg ...
下面是文件 versions.cfg 的内容
>>> cat('versions.cfg') [versions] myegg = N.N setuptools = N.N zc.recipe.egg = N.N
下次运行 buildout 时,文件将被覆盖
>>> print system(buildout) Develop distribution: buildout.dumppickedversions2 N.N ... Picked versions have been written to versions.cfg ... >>> cat('versions.cfg') [versions] myegg = N.N setuptools = N.N zc.recipe.egg = N.N
让我们创建一个新的 egg,以便在我们的测试中使用,它将需要另一个 egg
>>> mkdir('theiregg') >>> write('theiregg', 'setup.py', ... ''' ... from distutils.core import setup ... setup(name='theiregg', version='1.0', install_requires='myegg') ... ''') >>> write('theiregg', 'README', '') >>> print system(buildout + ' setup theiregg bdist_egg') Running setup script 'theiregg/setup.py'. ...
创建一个使用这个新 egg 的 buildout
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions2 ... parts = theiregg ... find-links = https://pypi.python.org/simple/zc.recipe.egg/ ... %s ... %s ... [theiregg] ... recipe = zc.recipe.egg ... eggs = theiregg ... ''' % (join('theiregg', 'dist'), join('myegg', 'dist')))
运行 buildout 将会打印关于选择版本和谁需要它们的信息
>>> print system(join('bin', 'buildout')) Develop distribution: buildout.dumppickedversions2 N.N ... Versions had to be automatically picked. The following part definition lists the versions picked: [versions] setuptools = N.N theiregg = N.N zc.recipe.egg = N.N <BLANKLINE> # Required by: # theiregg==N.N myegg = N.N ...
这同样适用于写入文件的情况
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions2 ... dump-picked-versions-file = versions.cfg ... parts = theiregg ... find-links = https://pypi.python.org/simple/zc.recipe.egg/ ... %s ... %s ... [theiregg] ... recipe = zc.recipe.egg ... eggs = theiregg ... ''' % (join('theiregg', 'dist'), join('myegg', 'dist'))) >>> print system(buildout) Develop distribution: buildout.dumppickedversions2 N.N ... Updating theiregg. Picked versions have been written to versions.cfg ...
下面是文件 versions.cfg 的内容
>>> cat('versions.cfg') [versions] setuptools = N.N theiregg = N.N zc.recipe.egg = N.N <BLANKLINE> # Required by: # theiregg==N.N myegg = N.N
如果我们不想覆盖文件,只需添加一个 overwrite-picked-versions-file 并将其设置为 false
>>> write('buildout.cfg', ... ''' ... [buildout] ... extensions = buildout.dumppickedversions2 ... dump-picked-versions-file = versions.cfg ... overwrite-picked-versions-file = false ... parts = myegg ... find-links = https://pypi.python.org/simple/zc.recipe.egg/ ... %s ... [myegg] ... recipe = zc.recipe.egg ... eggs = myegg ... ''' % join('myegg', 'dist')) >>> print system(buildout) Develop distribution: buildout.dumppickedversions2 N.N ... Skipped: File versions.cfg already exists. ...
1.1 (2013-06-14)
当新的 pickedversions 插件 API 可用时使用
1.0.3 (2013-02-26)
现在包含“由谁依赖”的数据
1.0.2 (2013-02-22)
明确要求使用 buildout 2.0.1
1.0.1 (2013-02-19)
修复了命名空间问题
1.0 (2013-02-19)
初始版本
感谢
Mustapha Benali,buildout.dumppickedversions 的原始作者
项目详情
下载文件
根据您的平台下载文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
buildout.dumppickedversions2-1.1.zip 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ff8006fbfe016b92fe31cd669f45948ec75e065b7596a20ebaebeff9cb93187d |
|
MD5 | f52693a57c9ce84a70d5c29d75c2f5bf |
|
BLAKE2b-256 | 8fc6dd65c2c9f0b680db164307ea4014553d9de914381c1f6fb5b4eeecdf34a8 |