Использование пакета Luigi для создания и запуска задач

Я пытаюсь перейти по ссылке учебника Луиджи-Джупитера: Учебник Луиджи

Мне удалось настроить среду, но мне сложно добавить первую задачу в конвейер.

Я использовал nano file.py для создания файла python и добавил следующий код:

import os
import luigi

output_path = '/Users/mattiaciollaro/Git/luigi_tutorial/output/'

class TellMeMyName(luigi.Task):
    """
    An incredibly simple task that writes your name to a text file.
    """
    my_name = luigi.Parameter()

    def output(self):
        return luigi.LocalTarget(
            os.path.join(output_path, 'my_name.txt')
        )

    def run(self):
        with open(self.output().path, 'w') as out:
            out.write('Your name is %s' % self.my_name)

Затем я пытаюсь запустить это на своем терминале, используя: python file.py

Однако, похоже, я не могу запустить задачу (я предполагаю, что, возможно, мне не следует писать код в файле?)

Вот что я запускаю на терминале:

luigi --module tasks file.py TellMeMyName --my-name Emmanuel

и я получаю это сообщение об ошибке

ModuleNotFoundError: No module named 'tasks'

person Emm    schedule 24.07.2019    source источник


Ответы (1)


Из учебника, который вы связали:

Все задачи, представленные в этом посте, находятся в файле tasks.py репозитория. > Если вы используете сопутствующий репозиторий, копировать и вставлять не нужно:> задачи в tasks.py готовы к запуску.

Ваш сценарий, который вы сказали, называется file.py, если вы удалите модуль 'tasks' из того, что вы пытаетесь запустить на терминале, он должен запуститься. Что-то вроде:

luigi --module file TellMeMyName --my-name Emmanuel
person Taha Jirjees    schedule 25.07.2019
comment
Я получаю сообщение об ошибке "ModuleNotFoundError: нет модуля с именем" файл " - person Emm; 25.07.2019