AWS CLI与cryptography、OpenSSL依赖冲突及兼容版本咨询
解决awscli、cryptography与pyopenssl的版本兼容冲突问题
一、明确冲突根源
当前冲突的核心是两个依赖的版本要求互斥:
awscli==1.32.2强制要求cryptography版本范围为 >=3.3.2, <=38.0.5pyopenssl==23.3.0强制要求cryptography版本范围为 >=41.0.5, <42
必须找到同时满足两者的版本组合,即找一个pyopenssl版本,其依赖的cryptography范围落在awscli允许的3.3.2~38.0.5区间内。
二、确定兼容版本组合
经过验证,以下版本组合完全兼容:
awscli==1.32.2cryptography==38.0.5(awscli允许的最高cryptography版本,最大化兼容性)pyopenssl==22.1.0(该版本依赖cryptography>=37.0.0,刚好覆盖38.0.5)
三、实操安装步骤
- 卸载当前冲突的所有相关包:
pip uninstall -y awscli cryptography pyopenssl
- 一次性安装指定兼容版本(避免分步安装引发新冲突):
pip install awscli==1.32.2 cryptography==38.0.5 pyopenssl==22.1.0
四、验证兼容性
执行以下命令检查所有依赖是否无冲突:
pip check
无输出则表示所有依赖兼容。
五、自行查找兼容版本的方法
如果需要调整版本,可通过以下方式查询依赖约束:
- 查看特定版本包的依赖:
pip show pyopenssl==<版本号>,查看Requires字段 - 用pip预演安装:
pip install awscli==1.32.2 cryptography==<版本号> --dry-run,观察自动匹配的pyopenssl版本
内容的提问来源于stack exchange,提问作者Akhilesh
相关产品推荐
相关产品推荐

