Pip安装包时出现网络错误: Read timed out. 解决方法
在使用pip安装Python包时,有时会遇到'Read timed out'的错误,这意味着网络连接超时,导致无法下载所需的包。该错误通常由以下原因引起:
- 网络连接不稳定,导致下载速度过慢或中断。
- 选择的下载源无法正常访问,导致无法下载包文件。
解决方法:
- 更换下载源: 可以尝试使用国内镜像源,例如:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
-
检查网络连接: 确保网络连接正常,可以尝试重启路由器或网络设备。
-
等待网络稳定: 如果网络连接不稳定,可以等待网络稳定后再尝试安装包。
-
使用代理服务器: 如果网络环境比较复杂,可以使用代理服务器来访问网络。
示例错误信息:
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'错误。
原文地址: https://www.cveoy.top/t/topic/m1EO 著作权归作者所有。请勿转载和采集!