问题描述:
在使用conda安装软件包时,遇到报错:
Collecting package metadata (repodata.json): failed
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/repodata.json>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64'
原因分析:
这里显然是网页访问出现了问题,尝试过更换其他的源,但显示同样的错误。最后网上查找原因,有两者情况。
解决方案:
vim ~/.condarc
先查看自己的配置:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- defaults
show_channel_urls: true
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
我这里是将前面的https更改为了http
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- defaults
有些windows上的解决办法是将http更改为https,这个应该是网络安全的原因。https协议是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。
conda离线安装
如果上面的操作还不行,说明网络还是太差了。
直接去网站上下载这个安装包,下载后,到下载文件夹中执行:
conda install --use-local pytorch-1.2.0-py3.7_cuda9.2.148_cudnn7.6.2_0.tar.bz2
安装成功后, 会在conda文件夹的~/anaconda3/pkgs子文件夹出现相应压缩包以及解压后的文件夹。
其实,这一步只是将包进行安装到site-packages, 实际上并没有完成依赖库的安装。因此, 还可以继续执行:
conda install -c local pytorch
或者在用安装命令安装一遍,这样会检查一遍缺少的依赖库,进行下载安装:
conda install XXX