学过Python都知道或者听过Fabric,它是Python的三大神器之一:自动化发布工具。而invoke就是Fabric最核心的基础组件。也是我们今天要介绍的主角,作为一个命令行工具,invoke专注于“任务执行”,通过CLI和shell命令来执行任务。
invoke的安装及使用
首先执行安装命令:
pip install invoke
invoke的使用还是比较简单的,只需要注意以下几点:
- 1、创建任务文件,例如创建一个task.py任务文;
- 2、@task 装饰器,定义函数时添加@task装饰器,即标记该函数为一个任务;
- 3、上下文参数,给装饰的函数添加一个上下文参数;
- 4、命令行执行,执行任务使用invoke xxx来执行,xxx代表任务名,并且命令中“invoke”可以简写为inv“”;
以下是一个简单的示例:
# 文件名:task.py
from invoke import task
@task
def hello(c):
print("Hello world!")
@task
def greet(c, name):
c.run(f"echo {name}加油!")
在上述代码的定义了两个任务,这里要注意的是@task装饰器可以不带参数,也能带参数,另外需要注意的是上下文参数(即上例的“c”)必须显示的指明,如果缺少这个参数,则会抛出异常。执行上述任务:
>>> inv hello
Hello world!
>>> inv greet 中国