无法导入 requests.packages.urllib3.util 'Retry'
Cannot import requests.packages.urllib3.util 'Retry'
我在 Windows 8 上使用 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
谁能告诉我这是为什么? 运行 这行代码是否有我不知道的任何其他依赖项成功?
谢谢
您可能需要更新版本的 Requests。我刚刚用 v2.5.1 试了一下:
from requests.packages.urllib3.util import Retry
似乎有效。仅供参考:最新版本是v2.5.3,值得升级。
此外,如果您单独安装了相当新的 urllib3 版本,这也应该有效:
from urllib3.util import Retry
不幸的是,我们在PoolManager
和ConnectionPool
中检查了Retry
的具体isinstance
类型,所以这两种类型的Retry
对象可能并不完美可互换。 (如果有人想解决这个问题,我会在 PR 上 +1。)
现在,如果您打算将 Retry
对象与 requests
版本的 urllib3
一起使用,您需要直接从那里导入它。
requests 在 request.package
中不再有销售模块
您需要直接引用 urllib3
from urllib3.util import Retry
我在 Windows 8 上使用 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
谁能告诉我这是为什么? 运行 这行代码是否有我不知道的任何其他依赖项成功?
谢谢
您可能需要更新版本的 Requests。我刚刚用 v2.5.1 试了一下:
from requests.packages.urllib3.util import Retry
似乎有效。仅供参考:最新版本是v2.5.3,值得升级。
此外,如果您单独安装了相当新的 urllib3 版本,这也应该有效:
from urllib3.util import Retry
不幸的是,我们在PoolManager
和ConnectionPool
中检查了Retry
的具体isinstance
类型,所以这两种类型的Retry
对象可能并不完美可互换。 (如果有人想解决这个问题,我会在 PR 上 +1。)
现在,如果您打算将 Retry
对象与 requests
版本的 urllib3
一起使用,您需要直接从那里导入它。
requests 在 request.package
中不再有销售模块您需要直接引用 urllib3
from urllib3.util import Retry