AttributeError:“重试”对象没有属性“method_whitelist”

Sur*_*bal 1 python request urllib3 python-3.x

尝试运行代码时发生以下错误:

Traceback (most recent call last):

    response = session.post(base_url, params={'query': filename_query})
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 578, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 805, in urlopen
    if retries.is_retry(method, response.status, has_retry_after):
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 343, in is_retry
    if not self._is_method_retryable(method):
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 331, in _is_method_retryable
    if self.method_whitelist and method.upper() not in self.method_whitelist:
AttributeError: 'Retry' object has no attribute 'method_whitelist'
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

小智 6

我不知道你的具体情况,因为没有太多信息。requests尽管如此,我在 Apache Beam 管道中使用该包时遇到了同样的错误

问题是,如发布变更日志中所述,它method_whitelist已被弃用并删除urllib3==1.26.0

我的解决方案是将urllib版本设置为以前的版本,添加urllib3==1.25.11到我的requirements.txt