0
我正在使用luigi
工作流程庫。我想繼承luigi.Task
類來添加更多我自己的方法和參數。是否可以繼承Luigi任務?
通常的對象模式將是:
class MockClassA():
pass
class MockClassB():
def __init__(self, foo):
super().__init__()
self.foo = foo
>>> MockClassB(12).foo
<<< 12
然而,當我這樣做:
class Transform(luigi.Task):
def __init__(self, foo):
super().__init__()
self.foo = foo
我得到:
>>> Transform(12)
<<< [...] UnknownParameterException: Transform[args=(12,), kwargs={}]: takes at most 0 parameters (1 given)
爲什麼會發生這種情況?
它可能定義'__new__'以及 –
我沒有看到它在[來源]這樣做(https://開頭github上。 COM/Spotify的/路易/斑點/主/路易/ task.py#L149)。 (除非'six.add_metaclass(Register)'裝飾器這樣做;不熟悉'six',但我非常懷疑它) –
下面是實際的堆棧跟蹤:https://i.fluffy.cc/sVJCJ9Xfz8tCtWmJvkmV0jWNhPjcTrxf.html它崩潰了'Register .__ call__'('Register'是一個元類,添加了'six.add_metaclass') –