2

Heroku でホストしようとしている Python で書かれた一連のスクレーパーがあります。リポジトリを heroku にプッシュしたところ、実行が開始されますが、ローカル環境で遭遇したことのないエラーで終了します。

p = Legislator(name=name, district=district)名前と地区の両方が文字列である場所を呼び出すと、TypeError: __init__() takes at least 3 arguments (2 given)

Legislator と Person の両方が、私のスクリプトが依存しているパッケージに含まれています。どちらも指定されていますが、requirements.txt これは virtualenv と関係がありますか?

Legislator のコンストラクタは次のとおりです。

    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)
4

1 に答える 1

2

立法者は次のように主張します。

selfnamepost_idparty=Nonechamber=None、および**kwargs

そしてあなたはそれを与えた

<Legislator instance>name=name、およびdistrict=district

次に、post_id引数を指定していません。これは、3 番目の欠落している引数です。

于 2013-08-11T12:00:02.013 に答える