运行python的Python代码调用不执行任务

时间:2014-02-03 21:55:20

标签: django pyinvoke

给出以下tasks.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'])

它没有执行任务

1 个答案:

答案 0 :(得分:1)

不应使用invoke.cli.parse,而应使用invoke.cli.dispath,例如:

invoke.cli.dispatch(['-r', os.path.dirname(__file__), 'setup'])