Код Python, запускающий python, не выполняет задачи

Вопрос:

Учитывая следующие задачи.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'])

Оцените статью
TechArks.Ru
Добавить комментарий