我有一组用 python 编写的抓取工具,我试图将其托管在 Heroku 上。我已将存储库推送到 heroku,它将开始运行,但会因我在本地环境中从未遇到过的错误而退出。
当我调用 p = Legislator(name=name, District=district)
时,名称和区都是字符串,我得到 TypeError: __init__() 至少需要 3 个参数 (2给定)
Legislator 和 Person 都包含在我的脚本所依赖的包中,这两个包都在 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)
最佳答案
立法者接受论点:
self
, name
, post_id
, party=None
, chamber=None
,和**kwargs
你给了它
<Legislator instance>
, name=name
,和district=district
,
那么你还没有给它一个post_id
参数 - 这是第三个缺失的参数。
关于python - 在 Heroku 上运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152954/