我有一组用python编写的scraper,我正试图在Heroku上托管。我已将repo推送到heroku,它将开始运行,但退出时我在本地环境中从未遇到过错误。
当我致电p = Legislator(name=name, district=district)
时,名称和地区都是字符串,我得到TypeError: __init__() takes at least 3 arguments (2 given)
立法者和人都包含在我的脚本所依赖的包中,这两个包都在requirements.txt
中指定
这可能与virtualenv有关吗?
这是立法者的构造者:
def __init__(self, name, post_id, party=None, chamber=None, **kwargs):
super(Legislator, self).__init__(name, **kwargs)
self.post_id = post_id
self.party = party
self.chamber = chamber
self._contact_details = []
和Person的构造函数
def __init__(self, name, **kwargs):
super(Person, self).__init__()
self.name = name
self.biography = None
self.summary = None
self.birth_date = None
self.death_date = None
self.image = None
self.gender = None
self.links = []
self.other_names = []
self.extras = {}
self._related = []
self.contact_details = []
for k, v in kwargs.items():
setattr(self, k, v)
答案 0 :(得分:2)
立法者提出论据:
self
,name
,post_id
,party=None
,chamber=None
和**kwargs
你给了它
<Legislator instance>
,name=name
和district=district
,
然后你没有给它一个post_id
参数 - 那是第三个缺失的参数。