中野智文のブログ

データ・マエショリストのメモ

luigi RangeDaily にて謎のエラー

背景

luigi RangeDaily の謎のエラーについて書く。

なお、RangeDaily については下記記事を参照。 nakano-tomofumi.hatenablog.com

ValueError: invalid literal for int() with base 10: 'None'

RangeDaily のパラメータ now が None であると怒っている。しかし、デフォルトがNone なのである。謎であるが…

対応

import time
...
    RangeDaily(....
           now=int(time.time()),
           ...)

now を具体的に与える。「他は datetime.date 型とかで与えているのに、ここだけunixtime秒かよ」とか突っ込みたくなる気持ちがある。

luigi.parameter.UnknownParameterException: XxxXxxx[args=(), kwargs={'parameter': 'XXXX', 'None': datetime.date(2018, 4, 26)}]: unknown parameter None

date パラメータとかに入ってほしいのに、None というパラメータに無理やり日付を入れようとしている。

対応

    RangeDaily(....
           param_name='date')
           ...)

RangeDaily にて日付の入ってほしいパラメータを、param_name にて指定する(この例の場合は date)。 これを指定しなくてもうまくいく場合もあるんだが…