2017-09-11 12 views
0

私はこのエラーを回避することができません。同じものが別のモジュールで動作しています。以下はコードです。Pythonがエラーを要求します

def _apiQuery(self): 
    params = { 
       'address': self.address 
       } 
    try: 
     r = requests.get(self.url, params) 
     response = r.json() 
     return response 
    except Exception as e: 
     raise 

エラー:

r = requests.get(self.url, params) 
TypeError: get() takes exactly 1 argument (2 given) 

しかし、私は、私はLinux環境でIDEとしてsublime-textを使用していますr = requests.get(self.url, params=params) this works.

+1

要求の間に 'params'のように見えます[v2.​​6.2](http://docs.python-requests.org/ja/v2.6.2/api/#requests.get)と[v2.7.0]( http://docs.python-requests.org/ja/v2.7.0/api/#requests.get)。どのバージョンを使用していますか? – glibdud

+0

全く同じクエリを持つ別のモジュールで動作し、ここでは 'params = params'で動作しますので、バージョンの問題ではありません。 – garg10may

+0

これは '' kwargs'の 'params'を作成します。これは2.7.0より前のバージョンのAPIと一貫しています。なぜ他の建築物が他の場所で働くのかを言うことができませんでした。彼らはあなたが異なる要求のインストールを持つかもしれない異なるpythonバージョンまたは仮想envを使用していますか? – glibdud

答えて

0

をすれば。その違いは、どこから崇高な文章を始めるのかに起因しています。

私はログイン直後に起動します。実行時の要求でバージョン2.6が表示される 仮想環境を起動して起動すると、要求はバージョン2.13を示します。

したがって、使用しているライブラリはIDEをどこから起動したかによって異なります。

こういうわけで、@glibdud params was added between requests v2.6.2 and v2.7.0が言いました。

関連する問題