使用Conda安装包遇CondaHTTPError,设置ssl_verify:False无效求解决
解决Conda安装时的HTTP/SSL握手错误
从你的报错信息和conda info输出来看,核心问题出在旧版本Conda(4.3.30)不兼容当前源站要求的现代TLS协议,而设置ssl_verify: False没生效,大概率也是旧版本Conda不支持该配置项导致的。试试下面这些分步解决方案:
1. 替换为国内镜像源(优先尝试)
国内镜像源对旧版本Conda的兼容性更好,还能规避境外源的网络/SSL协议问题。先备份原配置,再替换为清华镜像:
# 备份当前配置文件 cp ~/.condarc ~/.condarc.bak # 写入清华镜像配置 cat << EOF > ~/.condarc channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud ssl_verify: false EOF
保存后重启终端,再尝试安装目标包。
2. 强制升级Conda(换源无效时)
你的Conda版本是2017年的旧版本,依赖的requests库(2.18.4)也不支持TLS 1.2+协议,这是导致握手失败的根本原因。如果换源不行,试试用pip升级Conda:
pip install --upgrade conda
升级完成后,再执行conda update conda确保所有组件同步更新,之后再尝试安装操作。
3. 临时跳过SSL验证(应急方案)
如果升级遇到困难,可以通过环境变量强制跳过SSL验证,临时解决握手问题:
# 临时设置环境变量 export PYTHONHTTPSVERIFY=0 # 或者直接在conda命令前添加 PYTHONHTTPSVERIFY=0 conda install <你的包名>
4. 更新系统SSL库(底层修复)
你的系统是Debian 7.11,自带的glibc和SSL库版本偏旧,也可能影响Conda的SSL握手。尝试更新系统SSL组件:
sudo apt-get update && sudo apt-get install openssl libssl-dev
更新完成后重启终端再测试。
建议从换源开始尝试,这是最快速的解决方案;如果无效再逐步尝试升级Conda或系统组件。
内容的提问来源于stack exchange,提问作者Harshvardhan Tibrewal




