关于python:无法导入requests.packages.urllib3.util’重试’

Cannot import requests.packages.urllib3.util 'Retry'

我正在Windows8上使用python 2.7 64位。我安装了请求版本2.3。我正在尝试运行此import语句,作为在代码中引入重试次数的一部分:

1
from requests.packages.urllib3.util import Retry

我也安装了URLLIB3(我刚刚通过PIP安装了它)。我收到错误消息:

1
2
3
4
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

有人能告诉我这是为什么吗?是否还有其他我不知道的可以成功运行这行代码的依赖项?

谢谢


您可能需要更新版本的请求。我刚用2.5.1版尝试过:

1
from requests.packages.urllib3.util import Retry

似乎有用。仅供参考:最新版本是2.5.3版,值得升级。

另外,如果您单独安装了最新版本的URLLIB3,那么这也可以工作:

1
from urllib3.util import Retry

不幸的是,我们检查了PoolManagerConnectionPoolRetry的特定isinstance类型,因此这两种类型的Retry对象可能无法完全互换。(如果有人想解决这个问题,我在公共关系中会是+1。)

现在,如果您打算将Retry对象与requests版本的urllib3一起使用,则需要直接从那里导入它。


请求在request.package中不再具有自动添加的模块

您需要直接参考URLLIB3