我在OS X El Cap上运行没有--local-scheduler的任务时只收到此错误 . 使用 luigid 命令创建的守护程序当前也在运行 .

当我使用--local-scheduler运行任务时,它按预期运行 . 在我的Windows 7虚拟机上,无论是否使用--local-scheduler,它都运行良好 . 好奇为什么它只在OS X上的一个案例中失败了 .

代码片段来自我引用的这篇文章开始学习Luigi:https://marcobonzanini.com/2015/10/24/building-data-pipelines-with-python-and-luigi/

码:

import luigi


class PrintNumbers(luigi.Task):
    n = luigi.IntParameter()

    def requires(self):
        return []

    def output(self):
        return luigi.LocalTarget("numbers_up_to_{}.txt".format(self.n))

    def run(self):
        with self.output().open('w') as f:
            for i in range(1, self.n+1):
                f.write("{}\n".format(i))


if __name__ == '__main__':
    luigi.run()

追踪:

File "scrape.py", line 24, in luigi.run()

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第210行,在运行中返回_run(* args,** kwargs)['success']

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第238行,在_run中返回_schedule_and_run([cp.get_task_obj()],worker_scheduler_factory)

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第194行,在_schedule_and_run成功&= worker.add(t,env_params.parallel_scheduling)

在self._add(item,is_complete)中添加下一个文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第565行 .

在_add retry_policy_dict = _get_retry_policy_dict(任务)中输入文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第682行,

在_add_task self._scheduler.add_task(* args,** kwargs)中输入文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第441行

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/scheduler.py”,第112行,在rpc_func中返回self._request('/ api / {}' . format(fn_name ),actual_args,** request_args)

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/rpc.py”,第145行,在_request response = json.loads(page)[“response”]

文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/ init .py”,第338行,在加载中返回_default_decoder.decode(s)

文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第366行,解码obj,end = self.raw_decode(s,idx = _w(s) ,0).end())

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded