Windows8でPython 2.7 64ビットを使用しています。Requestsバージョン2.3をインストールしています。コード内で再試行回数を増やす一環として、このインポートステートメントを実行しようとしています。
from requests.packages.urllib3.util import Retry
Urllib3もインストールしました(Pip経由でインストールしました)。エラーメッセージが表示されます:
Traceback (most recent call last):
File "C:\Python27\counter.py", line 3, in <module>
from requests.packages.urllib3.util import Retry
ImportError: cannot import name Retry
なぜこれなのか誰か教えてもらえますか?このコード行を正常に実行するために私が気付いていない他の依存関係はありますか?
ありがとう
新しいバージョンのリクエストが必要になる場合があります。 v2.5.1で試してみました。
from requests.packages.urllib3.util import Retry
動作しているようです。参考:最新バージョンはv2.5.3で、アップグレードする価値があります。
また、かなり新しいバージョンのurllib3を個別にインストールしている場合は、これも機能するはずです。
from urllib3.util import Retry
残念ながら、isinstance
とRetry
のPoolManager
の特定のConnectionPool
タイプをチェックするため、2つのタイプのRetry
オブジェクトは完全ではない可能性があります交換可能。 (誰かがこれを修正したい場合、私はPRで+1になります。)
今のところ、Retry
オブジェクトをurllib3
のrequests
バージョンで使用する場合は、そこから直接インポートする必要があります。
リクエストのrequest.packageにベンダーモジュールが含まれなくなりました
urllib3を直接参照する必要があります