Я видел эту ошибку раньше, и это было связано с чем-то совершенно не связанным, но я не могу пройти мимо этого сейчас, как бы я ни пытался. Вся ошибка кажется мне противоречивой, но Python, вероятно, в конце концов как-то прав.
Итак, в foo/foo.py у меня есть класс и его конструктор, определенные следующим образом:
class Foo:
def __init__(self, bars):
self.bars = bars
В baz.py у меня есть следующее:
from foo import foo
test_bars = [ a list of things ]
f = foo.Foo(test_bars)
что приводит меня к
__init__() takes 1 positional argument but 2 were given
Я также попытался превратить конструктор в kwargs, как показано ниже.
class Foo:
def __init__(self, bars=None):
self.bars = bars
а потом звоню
from foo import foo
test_bars = [ a list of things ]
f = foo.Foo(bars=test_bars)
и это дает ошибку о неопознанном kwarg.
Другие классы, включенные в foo/foo.py, похоже, работают нормально.
Что я не вижу?
from foo import foo; print foo.__file__
точно определить, откуда он исходит. - person jasonharper   schedule 18.03.2017class Foo
в файле? Это не ошибка, и любые изменения, которые вы сделаете в первом, не будут иметь никакого эффекта. - person jasonharper   schedule 18.03.2017