Torch安装报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool解决方法

本文介绍了在安装PyTorch过程中遇到的网络超时和依赖冲突问题,包括尝试更换国内镜像源、增加pip超时时间以及解决依赖库未安装的错误。最终成功安装并验证了torch的GPU版本,并提供了检查CUDA兼容性的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题

使用命令安装torch:

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i http://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com

这时候报错:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.

2.分析问题产生原因

(1)大概率是网络问题,也就是阿里云的镜像源提供的网速不足以支撑2个G的torch安装
(2)也许可能版本不匹配,但这一问题我在官方网站复制的命令:torch安装官网提供的命令,应该是问题不大的。

3.解决办法

切换镜像源:
豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
山东理工大学:http://pypi.sdutlinux.org/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/
因此命令可以改为:

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple

或者一个一个镜像试过去,总会有效果的!

4.大牛提供的方法

如果你的网速一直很拉闸,上面的方法依然解决不了,那这时可以使用如下的解决方案:

pip --default-timeout=1688 install 库名称 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 

那在这里可以分别用该方法安装torch和torchvision
也就是使用命令:

pip3 --default-timeout=1688 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html -i http://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com

这里的--default-timeout=1688其实意思就是让其检测延迟的时间变长,以防止因为你的网络问题而直接报错。以上有可能也会报错,因为你所选用的镜像源是不存在这样的包的,这时候可以切换镜像源。如下所示:
在这里插入图片描述

还没有使用这个技巧之前,前面好多次都是安装在了600多M就因为网络问题停止安装了,有一次甚至都2000多M了以为要成功的时候GG了,真的气哭了。

5.安装成果展示

在这里插入图片描述

虽然安装成功了,但新的风暴又产生了:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
projectq 0.7.0 requires matplotlib>=2.2.3, which is not installed.
projectq 0.7.0 requires networkx>=2, which is not installed.
projectq 0.7.0 requires requests, which is not installed.
projectq 0.7.0 requires scipy, which is not installed.

不过这个风暴,直接使用安装matplotlib包,其他几个包的命令也如下所示:

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install networkx -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple

依次输入上面的命令将报错的几个包全部安装成功就🆗了!
最后,在命令行下输入python:

(torchlearning) C:\WINDOWS\system32>python

然后进入python操作行输入以下代码:

import torch
x = torch.rand(5, 3)
print(x)

在这里插入图片描述
出现以上结果就表示torch终于TM的安装成功了!!!

6. 如何使用GPU版本的torch

详见:基于torch的GPU版本快速搭建CNN,实现分类MINST数据集

7. 验证torch的cuda版本是否成功

在操作界面输入以下代码:

import torch
print(torch.__version__)
print(torch.cuda.is_available())

如果出现以下界面,则表示cuda对应上了torch版本:
在这里插入图片描述
关于如何安装cuda:cuda保姆安装教程

pip install lightning Collecting lightning Downloading lightning-2.5.2-py3-none-any.whl (821 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 821.1/821.1 kB 12.8 kB/s eta 0:00:00 Requirement already satisfied: tqdm<6.0,>=4.57.0 in d:\anaconda\envs\sdsd_torch\lib\site-packages (from lightning) (4.62.2) Requirement already satisfied: typing-extensions<6.0,>=4.4.0 in d:\anaconda\envs\sdsd_torch\lib\site-packages (from lightning) (4.12.2) Collecting lightning-utilities<2.0,>=0.10.0 Downloading lightning_utilities-0.14.3-py3-none-any.whl (28 kB) Collecting pytorch-lightning Downloading pytorch_lightning-2.5.2-py3-none-any.whl (825 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 825.4/825.4 kB 13.7 kB/s eta 0:00:00 Collecting torch<4.0,>=2.1.0 Downloading torch-2.7.1-cp39-cp39-win_amd64.whl (216.0 MB) ━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.7/216.0 MB ? eta -:--:-- ERROR: Exception: Traceback (most recent call last): File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher yield File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\urllib3\response.py", line 561, in read data = self._fp_read(amt) if not fp_closed else b"" File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\urllib3\response.py", line 527, in _fp_read return self._fp.read(amt) if amt is not None else self._fp.read() File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 90, in read data = self.__fp.read(amt) File "D:\anaconda\envs\sdsd_torch\lib\http\client.py", line 463, in read n = self.readinto(b) File "D:\anaconda\envs\sdsd_torch\lib\http\client.py", line 507, in readinto n = self.fp.readinto(b) File "D:\anaconda\envs\sdsd_torch\lib\socket.py", line 704, in readinto return self._sock.recv_into(b) File "D:\anaconda\envs\sdsd_torch\lib\ssl.py", line 1242, in recv_into return self.read(nbytes, buffer) File "D:\anaconda\envs\sdsd_torch\lib\ssl.py", line 1100, 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\envs\sdsd_torch\lib\site-packages\pip\_internal\cli\base_command.py", line 160, in exc_logging_wrapper status = run_func(*args) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\cli\req_command.py", line 247, in wrapper return func(self, options, args) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\commands\install.py", line 419, in run requirement_set = resolver.resolve( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 92, in resolve result = self._result = resolver.resolve( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 481, in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 373, in resolve failure_causes = self._attempt_to_pin_criterion(name) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 213, in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 204, in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _add_to_criteria if not criterion.candidates: File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 151, in __bool__ return bool(self._sequence) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 155, in __bool__ return any(self) File "D:\anaconda\envs\sdsd_torch\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 "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 47, in _iter_built candidate = func() File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 206, in _make_candidate_from_link self._link_candidate_cache[link] = LinkCandidate( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 297, in __init__ super().__init__( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 162, in __init__ self.dist = self._prepare() File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 231, in _prepare dist = self._prepare_distribution() File "D:\anaconda\envs\sdsd_torch\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 "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\operations\prepare.py", line 491, in prepare_linked_requirement return self._prepare_linked_requirement(req, parallel_builds) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\operations\prepare.py", line 536, in _prepare_linked_requirement local_file = unpack_url( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\operations\prepare.py", line 166, in unpack_url file = get_http_url( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\operations\prepare.py", line 107, in get_http_url from_path, content_type = download(link, temp_dir.path) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\network\download.py", line 147, in __call__ for chunk in chunks: File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\cli\progress_bars.py", line 53, in _rich_progress_bar for chunk in iterable: File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_internal\network\utils.py", line 63, in response_chunks for chunk in response.raw.stream( File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\urllib3\response.py", line 622, in stream data = self.read(amt=amt, decode_content=decode_content) File "D:\anaconda\envs\sdsd_torch\lib\site-packages\pip\_vendor\urllib3\response.py", line 587, in read raise IncompleteRead(self._fp_bytes_read, self.length_remaining) File "D:\anaconda\envs\sdsd_torch\lib\contextlib.py", line 137, in __exit__ self.gen.throw(typ, value, traceback) File "D:\anaconda\envs\sdsd_torch\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=&#39;files.pythonhosted.org&#39;, port=443): Read timed out.
最新发布
07-25
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值