问题:直接使用pip安装报错
D:\Python39\Scripts>pip install opencv-python==4.5.2.54
Collecting opencv-python==4.5.2.54
Downloading opencv_python-4.5.2.54-cp39-cp39-win_amd64.whl (34.7 MB)
|████████████████████████████████| 34.7 MB 656 kB/s
Collecting numpy>=1.19.3
Downloading numpy-1.21.1-cp39-cp39-win_amd64.whl (14.0 MB)
|████████████ | 5.2 MB 142 kB/s eta 0:01:03ERROR: Exception:
Traceback (most recent call last):
File "d:\python39\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher
yield
File "d:\python39\lib\site-packages\pip\_vendor\urllib3\response.py", line 519, in read
data = self._fp.read(amt) if not fp_closed else b""
File "d:\python39\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
data = self.__fp.read(amt)
File "d:\python39\lib\http\client.py", line 455, in read
n = self.readinto(b)
File "d:\python39\lib\http\client.py", line 499, in readinto
n = self.fp.readinto(b)
File "d:\python39\lib\socket.py", line 704, in readinto
return self._sock.recv_into(b)
File "d:\python39\lib\ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "d:\python39\lib\ssl.py", line 1099, 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:\python39\lib\site-packages\pip\_internal\cli\base_command.py", line 173, in _main
status = self.run(options, args)
File "d:\python39\lib\site-packages\pip\_internal\cli\req_command.py", line 203, in wrapper
return func(self, options, args)
File "d:\python39\lib\site-packages\pip\_internal\commands\install.py", line 315, in run
requirement_set = resolver.resolve(
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 94, in resolve
result = self._result = resolver.resolve(
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 472, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 366, in resolve
failure_causes = self._attempt_to_pin_criterion(name)
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 212, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 203, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _add_to_criteria
if not criterion.candidates:
File "d:\python39\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 151, in __bool__
return bool(self._sequence)
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 140, in __bool__
return any(self)
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 128, in <genexpr>
return (c for c in iterator if id(c) not in self._incompatible_ids)
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 32, in _iter_built
candidate = func()
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 204, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 295, in __init__
super().__init__(
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 156, in __init__
self.dist = self._prepare()
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 227, in _prepare
dist = self._prepare_distribution()
File "d:\python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 305, in _prepare_distribution
return self._factory.preparer.prepare_linked_requirement(
File "d:\python39\lib\site-packages\pip\_internal\operations\prepare.py", line 508, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
File "d:\python39\lib\site-packages\pip\_internal\operations\prepare.py", line 550, in _prepare_linked_requirement
local_file = unpack_url(
File "d:\python39\lib\site-packages\pip\_internal\operations\prepare.py", line 239, in unpack_url
file = get_http_url(
File "d:\python39\lib\site-packages\pip\_internal\operations\prepare.py", line 102, in get_http_url
from_path, content_type = download(link, temp_dir.path)
File "d:\python39\lib\site-packages\pip\_internal\network\download.py", line 145, in __call__
for chunk in chunks:
File "d:\python39\lib\site-packages\pip\_internal\cli\progress_bars.py", line 144, in iter
for x in it:
File "d:\python39\lib\site-packages\pip\_internal\network\utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "d:\python39\lib\site-packages\pip\_vendor\urllib3\response.py", line 576, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "d:\python39\lib\site-packages\pip\_vendor\urllib3\response.py", line 541, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "d:\python39\lib\contextlib.py", line 135, in __exit__
self.gen.throw(type, value, traceback)
File "d:\python39\lib\site-packages\pip\_vendor\urllib3\response.py", line 443, 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.
解决办法:使用清华源下载
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
输入以下命令安装成功
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==4.5.2.54