2
저는 헬기에 호스트하려고하는 파이썬으로 작성된 스크래퍼 세트를 가지고 있습니다. 나는 repro를 heroku로 밀어 넣었습니다. 그리고 그것은 실행되기 시작할 것이지만, 내 로컬 환경에서 결코 만나지 못한 오류로 종료합니다.Heoku에서 Python 스크립트 실행
둘 다 이름과 지구 문자열, 나는 TypeError: __init__() takes at least 3 arguments (2 given)
두 의원과 사람이 뭔가에있을 수 requirements.txt
에 지정된 둘 다 내 스크립트에 의존하는 패키지에 포함되어 얻을 수있다 p = Legislator(name=name, district=district)
를 호출 할 때 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 = []
및
이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)
필자는 파이썬 3의 상속에 익숙하지 않으므로이 질문이 무식하지만, 왜 Person의 생성자 안에'super (Person, self) .__ init __()'을 호출 할까? 사람이 사람을 상속 받도록하려는 것 같습니다. 그리고 그럴만 한 이유가 있다면'super (Person, self) .__ init __ (name)'이되어서는 안됩니까? – Brionius
솔직히 말해서 조금 혼란 스럽습니다. 그 부분은 제 코드가 아니며, 제가 사용하고있는 패키지에서 가져온 것입니다. 사람은 https://github.com/opencivicdata/larvae/blob/master/larvae/person.py에서 제공되며 의원은 https://github.com/opencivicdata/pupa/blob/master/pupa/scrape/helpers에서 제공됩니다. py – agarrow
Waitaminute - 입법자가'self, name, post_id, party = None, chamber = none, ** kwargs' 인수를 취하고'입법자 인스턴스>, name = name, district = district'를 주면, 'post_id' 인수가 주어지지 않았습니까? 그게 3 인자가 빠진 것이 아닌가? 나는 당신이 당신의 지역 환경에서이 오류를 어떻게 피할 수 있었는지 잘 모르겠습니다 ... – Brionius