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パッケージのバージョンを判別しています。必要に応じて、独自のプラットフォームに合わせて調整してください。