Как использовать pyinvoke в качестве библиотеки и включать задачи в один файл? - PullRequest
1 голос
/ 24 февраля 2020

Я хотел бы создать автономный скрипт python, который использует invoke, а также включает в себя задачи, которые должны быть выполнены. Минимальный рабочий пример выглядит так:

#!/usr/bin/env python3

from invoke import task, Program

@task()
def foo(c):
    print("Task...")

program = Program()

program.run()

Если я назову сценарий example.py, я бы хотел взять сценарий и выполнить:

(py37) bash-3.00$ ./example.py foo
Task...

Если я поместите задачу в отдельный файл с именем tasks.py, все работает. В документации показано, как поместить задачи в отдельный пакет, но не сам скрипт верхнего уровня. Я подозреваю, что это возможно, предоставив правильный namespace аргумент Program(), но я не нашел работающего значения.

...