欢迎使用Invoke!
Invoke是一个Python(2.7和3.4+)库,用于管理面向shell的子流程和将可执行Python代码组织为不可替换的CLI任务。它从各种来源获得灵感(制作
/耙
、织物1.x等)至获得一个强大而干净的功能集。
要了解此版本Invoke的新增功能,请参阅变更日志.
项目维护者保持路线图在他的网站上。
该网站涵盖了Invoke的项目信息,如变更日志、,贡献指南、开发路线图、新闻/博客等。详细的用法和API文档可以在我们的代码文档中找到现场,文件.pyinvoke.org.
请参阅下面的高级介绍,或左侧的导航网站内容的其余部分。
什么是调用?
与Ruby的Rake工具和Invoke自己的前身Fabric 1.x一样,它提供了一个用于运行shell命令和定义/组织的干净、高级API任务函数来自任务.py
文件:
从 调用 进口 任务
@任务
定义 清洁的(c(c), 文档=False(错误), 字节码=False(错误), 额外的=“”):
模式 = [“生成”]
如果 文档:
模式.追加('文档/_build')
如果 字节码:
模式.追加(“**/*.pyc”)
如果 额外的:
模式.追加(额外的)
对于 图案 在里面 模式:
c(c).运行(“rm-射频{}".格式(图案))
@任务
定义 建造(c(c), 文档=False(错误)):
c(c).运行(“python setup.py内部版本”)
如果 文档:
c(c).运行(“sphinx-build docs文档/_build”)
从GNU Make开始,它继承了对通用最小样板文件的强调模式和在单个调用中运行多个任务的能力:
其中,Fabric 1.x将命令行方法视为默认模式use、Invoke(以及在此基础上构建的工具)在家中同样嵌入到您自己的Python代码或REPL:
>>>从 调用 进口 运行
>>>cmd公司 = “pip install-r requirements.txt”
>>>结果 = 运行(cmd公司, 隐藏=真的, 警告=真的)
>>>打印(结果.好的)
真的
>>>打印(结果.标准输出.分割线()[-1])
成功安装调用-0.13.0 pep8-1.5.7 spec-1.3.1
在大多数Unix CLI应用程序的引领下,它提供了传统的基于标志的命令行解析样式,派生标志名和值类型来自任务签名(当然可以选择!):
$invoke clean--docs--字节码构建--docs--extra='**/*.pyo'$invoke clean-d-b构建--docs-e'**/*.pyo'$invoke clean-db build-de“**/*.pyo”
与许多前辈一样,它还提供了高级功能–命名空间、任务别名、前/后挂钩、并行执行等。