You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS系统Miniconda虚拟环境中升级OpenSSL至3.5.1时的Cryptography依赖冲突问题求助

CentOS系统Miniconda虚拟环境中升级OpenSSL至3.5.1时的Cryptography依赖冲突问题求助

嗨,看了你的问题,这明显是conda和pip包管理“打架”加上旧版cryptography的版本限制导致的,我给你梳理几个能快速解决的思路:

先搞懂为啥会出这问题

你用pip install装的cryptography 45.0.5其实不在conda的依赖追踪体系里——conda只认自己安装的包,所以它还是盯着你环境里旧版的conda-installed cryptography 37.0.2来做冲突判断,而这个37.0.2版本的cryptography硬要求OpenSSL必须在1.1.1o到1.1.2a之间,自然和3.5.1不兼容。另外你第一次执行conda update openssl显示“已最新”,是因为默认conda频道里,和你现有旧包兼容的OpenSSL最高就是1.1.1w,3.5.1不在它的兼容列表里。

直接能用的解决步骤

方案1:把pip装的cryptography换成conda版(最快)

先把pip装的那个cryptography卸掉,换成conda-forge频道的最新兼容版——conda-forge的包更新快,对新版OpenSSL支持更好:

# 卸载pip安装的cryptography,避免干扰
pip uninstall -y cryptography
# 安装支持OpenSSL 3.x的最新版cryptography
conda install -c conda-forge cryptography=45.0.5

装完之后再尝试安装OpenSSL 3.5.1:

conda install -c conda-forge openssl==3.5.1

方案2:更新整个环境的依赖(更彻底)

如果你的环境里没有必须保留的旧版包,直接让conda把所有包更到互相兼容的最新状态,再装OpenSSL:

# 一键更新所有依赖到兼容最新版
conda update --all
# 再安装目标OpenSSL版本
conda install -c conda-forge openssl==3.5.1

这个方法能让conda自动调整所有包的版本,从根源上消除依赖冲突。

方案3:新建干净环境(最稳妥)

要是当前环境的依赖已经乱得没边,不想折腾的话,直接新建一个虚拟环境一步到位:

# 新建Python3.10环境,直接指定要的OpenSSL和cryptography版本
conda create -n new_openssl_env python=3.10 openssl=3.5.1 cryptography=45.0.5 -c conda-forge
# 激活新环境
conda activate new_openssl_env

这个方法完全避开旧环境的依赖“历史包袱”,基本不会出问题。

最后验证一下

不管用哪个方案,装完之后记得用这俩命令确认版本:

# 查看conda环境里的OpenSSL版本
conda list openssl
# 查看当前环境生效的OpenSSL版本
openssl version

要是都显示3.5.1就大功告成啦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 11:09:34