urllib3 的 Jenkins 作业失败:ValueError:超时值连接为 <object object at 0x7efe5adb9aa0>,但它必须是 int、float 或 None

abd*_*wer 4 python urllib3 jenkins python-requests jenkins-pipeline

截至 2023 年 5 月 4 日 16:00,我开始看到我们的一项 Jenkins 作业失败并出现以下错误:

Traceback (most recent call last):
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 822, in get_info
     return json.loads(self.jenkins_open(
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 560, in jenkins_open
     return self.jenkins_request(req, add_crumb, resolve_auth).text
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 576, in jenkins_request
     self.maybe_add_crumb(req)
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 373, in maybe_add_crumb
     response = self.jenkins_open(requests.Request(
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 560, in jenkins_open
     return self.jenkins_request(req, add_crumb, resolve_auth).text
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 579, in jenkins_request
     self._request(req))
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/jenkins/__init__.py", line 553, in _request
     return self._session.send(r, **_settings)
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
     r = adapter.send(request, **kwargs)
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/requests/adapters.py", line 483, in send
     timeout = TimeoutSauce(connect=timeout, read=timeout)
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/urllib3/util/timeout.py", line 119, in __init__
     self._connect = self._validate_timeout(connect, "connect")
   File "/home/jenkins/agent/workspace/my-jenkins-job/.tox/appdev-ci-staging/lib/python3.9/site-packages/urllib3/util/timeout.py", line 156, in _validate_timeout
     raise ValueError(
 ValueError: Timeout value connect was <object object at 0x7efe5adb9aa0>, but it must be an int, float or None.
Run Code Online (Sandbox Code Playgroud)

由于我的配置没有任何变化,这看起来像是上游问题。

requests我在工作中使用Python 库并requests使用urllib3.

我们该如何解决这个问题?

abd*_*wer 17

2023年5月4日发布了新版本2.0.2urllib3可以在这里看到:urllib3 2.0.2 - 发布历史

当我的工作在虚拟 Python 环境中使用 pip 安装 Python 库时,它开始安装最新版本,但urllib3存在一些问题。所以,这看起来是一个上游问题。

我通过添加urllib3>=1.26.15,<2到我的requirements.txt文件中修复了它。

  • 谢谢,把 `python_jenkins==1.8.0 urllib3&lt;2.0.2` 为我修复了 (2认同)