我正在寻找一个像paster一样的简单的lib /工具,我可以轻松地创建自定义命令,而无需与粘贴本身有任何关系。我希望创建一个像paster或manage.py这样的辅助工具来执行各种任务,比如构建(可能使用buildout),构建文档以及为非web /非wsgi项目运行脚本/测试。 (这就是为什么我不想要任何需要粘贴的东西)
有关工具的任何建议吗?我的方法听起来合理吗?
答案 0 :(得分:0)
我经常使用Fabric作为我的通用项目看门人。通常我使用Fabric自动执行以下任务:
最初开发Fabric是为了简化使用SSH在远程主机上运行的命令的自动化/脚本编写。但是,Fabric也是自动执行本地项目管理相关任务的优秀工具。
Fabric命令是所谓的 fabfile 中的普通Python函数。你不需要了解很多关于Fabric的知识。这是一个简单的fabfile.py
:
from fabric.api import local
def tests():
"""Run the test suite."""
...
def release(version):
"""Make a relase."""
tests()
local("hg tag %s" % version)
...
可以这样使用:
$ fab -l
Available commands:
release Make a relase.
tests Run the test suite.
$ fab release:version=0.1
...
[localhost] local: hg tag 0.1
...
关于buildout,只需将此部分添加到buildout.cfg
,即可在bin/fab
处使用Fabric:
[fabric]
recipe = zc.recipe.egg
eggs =
<things-you-need-in-your-fabfile>
fabric