在使用pip安装Python包时,有时会遇到'Read timed out'的错误,这意味着网络连接超时,导致无法下载所需的包。该错误通常由以下原因引起:

  • 网络连接不稳定,导致下载速度过慢或中断。
  • 选择的下载源无法正常访问,导致无法下载包文件。

解决方法:

  1. 更换下载源: 可以尝试使用国内镜像源,例如:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  1. 检查网络连接: 确保网络连接正常,可以尝试重启路由器或网络设备。

  2. 等待网络稳定: 如果网络连接不稳定,可以等待网络稳定后再尝试安装包。

  3. 使用代理服务器: 如果网络环境比较复杂,可以使用代理服务器来访问网络。

示例错误信息:

ERROR: Exception: Traceback (most recent call last):
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py', line 437, in _error_catcher
    yield
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py', line 560, in read
    data = self._fp_read(amt) if not fp_closed else b""
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py', line 526, in _fp_read
    return self._fp.read(amt) if amt is not None else self._fp.read()
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py', line 90, in read
    data = self.__fp.read(amt)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\http\client.py', line 465, in read
    s = self.fp.read(amt)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\socket.py', line 705, in readinto
    return self._sock.recv_into(b)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\ssl.py', line 1274, in recv_into
    return self.read(nbytes, buffer)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\ssl.py', line 1130, in read
    return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out
  During handling of the above exception, another exception occurred:
  Traceback (most recent call last):
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\base_command.py', line 160, in exc_logging_wrapper
    status = run_func(*args)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\req_command.py', line 247, in wrapper
    return func(self, options, args)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\commands\install.py', line 400, in run
    requirement_set = resolver.resolve(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py', line 92, in resolve
    result = self._result = resolver.resolve(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\resolvelib\resolvers.py', line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\resolvelib\resolvers.py', line 348, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\resolvelib\resolvers.py', line 172, in _add_to_criteria
    if not criterion.candidates:
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\resolvelib\structs.py', line 151, in __bool__
    return bool(self._sequence)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py', line 155, in __bool__
    return any(self)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py', line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py', line 97, in _iter_built_with_inserted
    candidate = func()
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py', line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py', line 297, in __init__
    super().__init__(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py', line 162, in __init__
    self.dist = self._prepare()
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py', line 231, in _prepare
    dist = self._prepare_distribution()
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py', line 308, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\prepare.py', line 491, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\prepare.py', line 536, in _prepare_linked_requirement
    local_file = unpack_url(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\prepare.py', line 166, in unpack_url
    file = get_http_url(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\prepare.py', line 107, in get_http_url
    from_path, content_type = download(link, temp_dir.path)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\network\download.py', line 147, in __call__
    for chunk in chunks:
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\progress_bars.py', line 53, in _rich_progress_bar
    for chunk in iterable:
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\network\utils.py', line 63, in response_chunks
    for chunk in response.raw.stream(
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py', line 621, in stream
    data = self.read(amt=amt, decode_content=decode_content)
    with self._error_catcher():
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\contextlib.py', line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File 'C:\Users\yangs\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py', line 442, in _error_catcher
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

注意: 该错误信息中出现的'files.pythonhosted.org'是Python官方的下载源,如果该源无法访问,则需要尝试更换下载源。

通过以上方法,可以有效地解决pip安装包时出现的'Read timed out'错误。

Pip安装包时出现网络错误: Read timed out.  解决方法

原文地址: https://www.cveoy.top/t/topic/m1EO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录