
1. 为什么conda安装PyTorch会报HTTP 000连接错误这个问题我遇到过太多次了每次看到CondaHTTPError: HTTP 000 CONNECTION FAILED这个红色报错信息就头疼。简单来说这是conda在尝试从默认服务器下载PyTorch时网络连接失败了。我总结了几点常见原因首先是网络环境问题。conda默认的下载服务器在国外国内直接访问速度慢且不稳定。我实测过白天高峰期成功率不到30%深夜会好一些但也不到50%。其次是conda的配置文件可能包含了默认通道-defaults这会导致conda优先尝试连接国外服务器。另外有些公司或学校的网络会限制特定端口的访问这也是个隐形杀手。最让人崩溃的是这个错误经常出现在下载进度到90%的时候突然报错让你前功尽弃。我遇到过连续失败7次的记录差点把键盘砸了。不过别担心下面这些方法都是我亲测有效的解决方案。2. 添加国内镜像源最推荐这是我首推的方法成功率在95%以上。国内有几个稳定的conda镜像源我用得最多的是清华源。具体操作有两种方式2.1 通过命令行添加打开Anaconda Prompt注意要用管理员权限依次执行以下命令conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --set show_channel_urls yes执行完后可以用conda config --show channels查看是否添加成功。我建议按这个顺序添加因为conda会按添加顺序优先搜索这些源。2.2 直接修改.condarc文件有时候命令行添加可能会遇到权限问题这时可以直接编辑配置文件。文件路径在C:\Users\你的用户名\.condarc用记事本打开后修改为channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ show_channel_urls: true保存后记得关闭所有conda相关窗口再重新打开。这个方法的好处是可以一次性设置好以后安装其他包也能用。3. 删除默认通道并检查配置文件很多人不知道即使添加了镜像源如果配置文件里还保留着defaults通道conda仍然会优先尝试连接国外服务器。检查你的.condarc文件确保没有下面这行- defaults如果有直接删除它。我遇到过好几次添加了清华源但还是报错的情况最后发现都是因为这个默认通道没删干净。另外建议检查下.condarc文件的格式是否正确。YAML对缩进很敏感每个channel前面的横杠和空格都要保持一致。错误的缩进会导致conda无法正确读取配置。4. 修改安装命令的关键细节从PyTorch官网复制的安装命令通常长这样conda install pytorch torchvision torchaudio cpuonly -c pytorch问题就出在最后的-c pytorch参数上。这个参数会强制conda使用PyTorch官方通道忽略我们刚才设置的镜像源。正确的做法是去掉这个参数conda install pytorch torchvision torchaudio cpuonly我建议直接从清华源的PyTorch页面获取安装命令这样最保险。另外如果你只需要CPU版本记得加上cpuonly参数可以减小下载体积。5. 尝试将HTTPS改为HTTP有时候问题出在HTTPS协议上。虽然不太常见但我在某些网络环境下确实遇到过HTTPS连接被拦截的情况。这时可以尝试把镜像地址中的https改为httpchannels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ # 其他通道也同理修改注意这种方法安全性稍低只建议在确认是HTTPS问题时临时使用。安装完成后最好改回HTTPS。6. 手动下载安装包终极解决方案当上述方法都无效时就只能手动下载了。虽然麻烦但成功率100%。具体步骤先尝试用conda安装让它报错从错误信息中找到缺失的包名和版本比如pytorch-1.8.1-py3.8_cpu_0.tar.bz2在浏览器打开清华源的对应目录http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/找到对应的包下载到本地使用命令安装conda install 本地文件路径我建议把常用包都下载备份特别是torch和torchvision这两个大文件。这样下次重装系统就不用再折腾了。7. 验证安装成功的正确姿势安装完成后千万别急着关窗口。我推荐用这个测试代码验证import torch print(torch.__version__) # 应该显示安装的版本号 x torch.rand(3,3) print(x) # 应该能正常输出3x3的随机矩阵如果是在Jupyter Notebook中测试记得先重启kernel。有时候安装成功了但import还是报错多半是因为kernel还在用旧环境。最后提醒一点PyTorch和torchvision的版本必须匹配否则会出现各种奇怪的问题。可以在PyTorch官网上查版本对应关系或者直接使用conda自动匹配的版本。