文章目录
安装包报错ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443)
报错信息
安装机器学习相关包时,
报错信息:
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\urllib3\response.py", line 425, in _error_catcher
yield
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\urllib3\response.py", line 507, in read
data = self._fp.read(amt) if not fp_closed else b""
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
data = self.__fp.read(amt)
File "C:\Python\Anaconda3\envs\tensorflow\lib\http\client.py", line 459, in read
n = self.readinto(b)
File "C:\Python\Anaconda3\envs\tensorflow\lib\http\client.py", line 503, in readinto
n = self.fp.readinto(b)
File "C:\Python\Anaconda3\envs\tensorflow\lib\socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "C:\Python\Anaconda3\envs\tensorflow\lib\ssl.py", line 1012, in recv_into
return self.read(nbytes, buffer)
File "C:\Python\Anaconda3\envs\tensorflow\lib\ssl.py", line 874, in read
return self._sslobj.read(len, buffer)
File "C:\Python\Anaconda3\envs\tensorflow\lib\ssl.py", line 631, in read
v = self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\cli\base_command.py", line 153, in _main
status = self.run(options, args)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\commands\install.py", line 382, in run
resolver.resolve(requirement_set)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\legacy_resolve.py", line 201, in resolve
self._resolve_one(requirement_set, req)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\legacy_resolve.py", line 365, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\legacy_resolve.py", line 313, in _get_abstract_dist_for
req, self.session, self.finder, self.require_hashes
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\operations\prepare.py", line 194, in prepare_linked_requirement
progress_bar=self.progress_bar
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 465, in unpack_url
progress_bar=progress_bar
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 316, in unpack_http_url
progress_bar)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 551, in _download_http_url
_download_url(resp, link, content_file, hashes, progress_bar)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 253, in _download_url
hashes.check_against_chunks(downloaded_chunks)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\utils\hashes.py", line 80, in check_against_chunks
for chunk in chunks:
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 223, in written_chunks
for chunk in chunks:
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\utils\ui.py", line 160, in iter
for x in it:
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_internal\download.py", line 212, in resp_read
decode_content=False):
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\urllib3\response.py", line 564, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\urllib3\response.py", line 529, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "C:\Python\Anaconda3\envs\tensorflow\lib\contextlib.py", line 99, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Python\Anaconda3\envs\tensorflow\lib\site-packages\pip\_vendor\urllib3\response.py", line 430, 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.
原因
socket.timeout: The read operation timed out
这是网络超时,如网络不好,缓慢,连不上国外的服务器,
解决方法
比如安装opencv-python包:
法1
在 pip的时候控制超时即可, 具体参数为 --default-timeout=100, 时间可以自己指定。
pip install --default-timeout=100 opencv-python
法2
打开Anaconda navigator(最好以管理员身份打开),
点击Environments,选择新创建的在用的tensorflow环境,选中 Not installed, 找到opencv, 并点击Apply:
法3
下载whl然后本地安装