使用Luigi软件包创建和运行任务

时间:2019-07-24 13:24:17

标签: python luigi

我正在尝试遵循Luigi-Jupyter教程 链接:Luigi Tutorial

我设法设置好环境,但是努力将第一个任务添加到我的管道中。

我使用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'

1 个答案:

答案 0 :(得分:0)

从您链接的教程中:

  

本文中介绍的所有任务都在存储库的task.py文件中。 >如果您正在使用协同存储库,则无需复制和粘贴:> tasks.py中的任务已准备好运行。

您所说的脚本称为file.py,如果从尝试在终端上运行的内容中删除“任务”模块,则该脚本应该运行。像这样:

luigi --module file TellMeMyName --my-name Emmanuel