Учитывая следующие задачи.py
from invoke import run, task
@task
def gems():
print 'Installing Gems'
run('echo $PWD')
#run('export GEM_HOME=$PWD && GEM_PATH=$PWD && gem install sass')
@task('gems')
def setup():
pass
Мой сценарий автоматизации:
import invoke
import invoke.cli
invoke.cli.parse(['-r', os.path.dirname(__file__), '--list'])
это возвращает
Available tasks:
gems
setup
Но когда вы пытаетесь выполнить “драгоценные камни”, как показано ниже:
invoke.cli.parse(['-r', os.path.dirname(__file__), 'gems'])
Он не выполняет задачу
Вместо использования invoke.cli.parse
следует использовать invoke.cli.dispath
как:
invoke.cli.dispatch(['-r', os.path.dirname(__file__), 'setup'])