安装requests库时遭遇pip依赖冲突错误,寻求解决方案
解决aiohttp与charset-normalizer的依赖冲突问题
问题重现
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
aiohttp 3.8.3 requires charset-normalizer<3.0,>=2.0, but you have charset-normalizer 3.0.1 which is incompatible.
解决方法
降级charset-normalizer到兼容版本
执行以下命令,将charset-normalizer降到2.0~3.0之间的稳定版本(以2.1.1为例),既满足aiohttp 3.8.3的要求,也不影响requests安装:pip install charset-normalizer==2.1.1之后再执行
pip install requests即可完成安装。升级aiohttp到兼容高版本charset-normalizer的版本
新版本aiohttp已放宽对charset-normalizer的版本限制,直接升级aiohttp:pip install --upgrade aiohttp升级后重新安装requests即可解决冲突。
使用虚拟环境隔离依赖(推荐长期方案)
虚拟环境可以彻底隔离不同项目的依赖,避免全局环境冲突:- 创建虚拟环境:
python -m venv myenv - 激活虚拟环境:
- Windows系统:
myenv\Scripts\activate - Linux/macOS系统:
source myenv/bin/activate
- Windows系统:
- 在激活的虚拟环境中安装requests:
pip install requests
- 创建虚拟环境:
内容的提问来源于stack exchange,提问作者Dolce_J000Lly
相关产品推荐
相关产品推荐

