如何使用buildout从repo中提取python包?

时间:2013-01-12 23:34:49

标签: python svn buildout

我有一个预先推出的bootstrap脚本,它为我的基于wsgi的框架创建了buildout.cfg。最初运行Buildout以创建必要的粘贴目录结构。然后我将我的代码从VCS repo中提取到src目录中,并将buildout.cfg特定于我正在部署的任何env以及一些其他.py静态数据文件。然后我再次运行buildout。

两次运行buildout对我的pov非常浪费。有没有办法从buildout中将subversion导出到我的项目源目录和任意文件中?

1 个答案:

答案 0 :(得分:1)

我会使用mr.developer来获取本地结帐:

[buildout]
extensions = mr.developer
auto-checkout = yourpackage

[sources]
yourpackage = svn http://url.to/repository

现在mr.developer会将yourpackage作为构建运行的一部分检出src/,运行它的setup.py以使其成为一个开发蛋,然后告诉buildout它是否可用因此。现在,buildout将使用该本地副本来满足任何yourpackage要求。

如果您的svn包不是蟒蛇蛋,只需将egg=false添加到其sources条目中,mr.developer将不会查找要运行的setup.py。 / p>

或者,您只需使用iw.recipe.cmd来运行svn命令:

[yourpackage]
recipe = iw.recipe.cmd
cmds = 
   svn export http://url.to/repository