Conda 清华源连接失败原因与解决
问题描述
在我设置好国内源之后,用conda创建虚拟环境,下载python版本时出现以下错误。
Solving environment: failed
CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch/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.
SSLError(MaxRetryError(‘HTTPSConnectionPool(host=‘mirrors.tuna.tsinghua.edu.cn’, port=443): Max retries exceeded with url: /anaconda/pkgs/free/noarch/repodata.json (Caused by SSLError(SSLError(“bad handshake: Error([(‘SSL routines’, ‘ssl3_get_server_certificate’, ‘certificate verify failed’)],)”,),))’,),)
我的~/.condarc
内容(即conda channels设置)如下
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64
show_channel_urls: true
解决方案
在我查阅了多篇博客,尝试了多种方案之后,终于找到两种解决方案:
- conda clean -i
- 先conda config 生成 .condarc
- 在命令行中输入
conda config --set ssl_verify false
修改设置,或者在文件~/.condarc
末尾添加一行ssl_verify: false
(有则修改即可) - 将https改成http
两种方法选一种即可
原因分析
https协议比http协议多了SSL,TLS等验证和加密的阶段,可能是在与清华源进行SSL验证的过程中会出问题,因此需要关掉SSL验证,或者改用http协议。但是使用SSL验证是有助于保障传输过程的可靠性的。
参考
[1] https://blog.csdn.net/qq_34573716/article/details/89958718文章来源:https://www.toymoban.com/news/detail-600165.html
[2] https://www.cnblogs.com/tianlang25/p/12433025.html文章来源地址https://www.toymoban.com/news/detail-600165.html
到了这里,关于报错解决: CondaHTTPError: HTTP 000 CONNECTION FAILED for url ***的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!