获取存储库examples
中的目录luigi
(git clone ...
并且您拥有该luigi
目录)。在那里您可以找到一些不同的示例,其中包括:
hello_world.py
包含类似的东西(这与保存所有这些 python 文件的存储库中
的python 模块task_namespace = 'examples'
相同): examples
- 这可以只使用来自python 模块外部的
luigi
命令(不需要守护进程)来执行,如下所示:luigid
examples
cd luigi && PYTHONPATH=. luigi --module examples.hello_world examples.HelloWorldTask --local-scheduler
top_artists.py
不包含对以下内容的任何引用task_namespace
:
- 这可以从python 模块
examples
中运行:cd luigi/examples && PYTHONPATH='.' luigi --module top_artists AggregateArtists --local-scheduler --date-interval 2012-06
这对我使用miniconda(类似于 anaconda)和cygwin有用,但我认为即使您不使用cygwin它也可以工作(可能powershell
或cmd
不允许您使用连接命令,&&
但您始终可以在其他)。
我不确定原因/解释,但是为了解决这个问题,您可以使用hello_world.py
并运行它cd luigi/examples && PYTHONPATH=. luigi --module hello_world HelloWorldTask --local-scheduler
(请注意,该luigi
命令是在没有examples.
作为命令参数前缀的情况下调用的),这将给出以下异常:
raise TaskClassNotFoundException(cls._missing_task_msg(name))
luigi.task_register.TaskClassNotFoundException: No task HelloWorldTask. Candidates are: Config,ExternalTask,RangeBase,RangeByMinutes,RangeByMinutesBase,RangeDaily,RangeDailyBase,RangeHourly,RangeHourlyBase,Task,TestNotificationsTask,WrapperTask,batch_email,core,email,examples.HelloWorldTask,execution_summary,retcode,scheduler,sendgrid,smtp,worker
为了给守护进程的其他问题提供一些提示,我在cygwin上使用如下命令启动它luigid &
:该&符号后缀为您返回命令行提示符。要检查哪个 PID 与守护进程相关联,我仍然在cygwin上使用相同的命令行提示符并运行ps aux | grep luigid
. 这种方法可能仅适用于cygwin(因为一些 bash 相关的内部结构)。