MacOS下pip安装MxNet遇awsebcli与requests版本冲突求助
解决MxNet安装与awsebcli的requests版本冲突问题
我来帮你搞定这个头疼的依赖冲突问题!核心原因很明确:你全局Python环境里的awsebcli 3.12.4对requests版本卡得很死(必须在2.6.1到2.9.1之间),但MxNet预发布版需要更高版本的requests,两者互不相容才导致安装失败。下面给你几个可行的解决办法,按推荐程度排序:
方案1:用虚拟环境隔离依赖(最稳妥)
虚拟环境相当于给MxNet单独开一个“专属Python空间”,和全局环境的依赖完全不打架,从根源上解决冲突:
- 先创建并激活虚拟环境:
# 创建名为mxnet_env的虚拟环境 python3 -m venv mxnet_env # 激活这个虚拟环境 source mxnet_env/bin/activate - 激活成功后,直接安装MxNet预发布版就行:
pip install mxnet --pre - 之后用MxNet的时候,先激活这个环境;不用了就输入
deactivate退出。
方案2:升级awsebcli到兼容高版本requests的新版本
awsebcli后来的版本已经放宽了requests的版本限制,升级它就能解决冲突:
- 先升级awsebcli:
pip install --upgrade awsebcli - 升级完成后,再安装MxNet:
新版本的awsebcli不再揪着旧版requests不放,和MxNet的依赖就能和平共处了。pip install mxnet --pre
方案3:强制安装(应急用,不推荐)
如果你暂时不想升级awsebcli或者用虚拟环境,可以试试强制安装MxNet,忽略依赖冲突:
pip install mxnet --pre --ignore-installed requests
⚠️ 提醒:这么做可能会搞坏awsebcli的功能,因为它本来依赖旧版requests,所以只适合临时救急。
为啥你降级requests反而失败?
你执行pip install requests==2.9.1时,系统反而把requests升到2.18.4,是因为MxNet预发布版在安装过程中会自动拉取它需要的requests版本,直接覆盖了你手动装的旧版——这就是依赖冲突的典型表现:两个包对同一个依赖的版本要求完全相反,pip会优先满足当前正在安装的包的需求。
内容的提问来源于stack exchange,提问作者ssmost
相关产品推荐
相关产品推荐

