服务器conda创建虚拟环境解决 CondaHTTPError SSLError

问题描述

在我设置好国内源之后,用conda创建虚拟环境,下载python版本时出现以下错误。

Solving environment: failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url
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 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

[2] https://www.cnblogs.com/tianlang25/p/12433025.html

你可能感兴趣的:(服务器,conda,运维)