Buildout 只允许您通过使用一个versions
部分来固定(精确)版本:
[buildout]
versions = myversions
[versions]
python-ldap = 2.3.13
其中部分中的versions
键[buildout]
命名用于引脚的部分(大多数也只是调用该部分[versions]
)。
如果您需要将其固定到不同机器的版本,则必须使用基于外部参数生成版本的配方。
在以下示例中,我使用mr.scripty
配方运行一些 python 来为我获取版本引脚:
[buildout]
versions = versions
[versions]
python-ldap = ${dynamic:python-ldap}
[dynamic]
recipe = mr.scripty
python-ldap =
... import subprocess
... return subprocess.check_output(
... 'dpkg-query', '-W', '-f', '${Version}', 'python-ldap').rsplit('-')[0]
上面的示例使用该dpkg-query
实用程序来确定 Debian 或 Ubuntu 上的 python-ldap 包的版本;根据您自己平台的需要进行调整。