现象:使用pip安装时出现如下错误:
Traceback (most recent call last):
File "d:\anaconda 3\lib\site-packages\pip\_vendor\urllib3\response.py", line 425, in _error_catcher
yield
File "d:\anaconda 3\lib\site-packages\pip\_vendor\urllib3\response.py", line 507, in read
data = self._fp.read(amt) if not fp_closed else b""
File "d:\anaconda 3\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
data = self.__fp.read(amt)
File "d:\anaconda 3\lib\http\client.py", line 447, in read
n = self.readinto(b)
File "d:\anaconda 3\lib\http\client.py", line 491, in readinto
n = self.fp.readinto(b)
File "d:\anaconda 3\lib\socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "d:\anaconda 3\lib\ssl.py", line 1049, in recv_into
return self.read(nbytes, buffer)
File "d:\anaconda 3\lib\ssl.py", line 908, in read
return 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 "d:\anaconda 3\lib\site-packages\pip\_internal\cli\base_command.py", line 188, in _main
status = self.run(options, args)
File "d:\anaconda 3\lib\site-packages\pip\_internal\cli\req_command.py", line 185, in wrapper
return func(self, options, args)
File "d:\anaconda 3\lib\site-packages\pip\_internal\commands\install.py", line 333, in run
reqs, check_supported_wheels=not options.target_dir
File "d:\anaconda 3\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 179, in resolve
discovered_reqs.extend(self._resolve_one(requirement_set, req))
File "d:\anaconda 3\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 362, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "d:\anaconda 3\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 314, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(req)
File "d:\anaconda 3\lib\site-packages\pip\_internal\operations\prepare.py", line 469, in prepare_linked_requirement
hashes=hashes,
File "d:\anaconda 3\lib\site-packages\pip\_internal\operations\prepare.py", line 259, in unpack_url
hashes=hashes,
File "d:\anaconda 3\lib\site-packages\pip\_internal\operations\prepare.py", line 130, in get_http_url
link, downloader, temp_dir.path, hashes
File "d:\anaconda 3\lib\site-packages\pip\_internal\operations\prepare.py", line 281, in _download_http_url
for chunk in download.chunks:
File "d:\anaconda 3\lib\site-packages\pip\_internal\cli\progress_bars.py", line 166, in iter
for x in it:
File "d:\anaconda 3\lib\site-packages\pip\_internal\network\utils.py", line 39, in response_chunks
decode_content=False,
File "d:\anaconda 3\lib\site-packages\pip\_vendor\urllib3\response.py", line 564, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "d:\anaconda 3\lib\site-packages\pip\_vendor\urllib3\response.py", line 529, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "d:\anaconda 3\lib\contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "d:\anaconda 3\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='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out.
原因:由于频繁访问网站或请求造成的,可以通过更换国内源的方法来解决此问题。
解决:
pip install scrapy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
附加几个国内常用镜像:
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/