Mac High Sierra下安装pyAudioAnalysis依赖遇版本兼容问题求助
解决Mac High Sierra下Python2.7安装pyAudioAnalysis依赖的版本冲突问题
嘿,这问题我之前帮朋友处理过,Python2.7的依赖兼容性确实容易踩坑,给你几个靠谱的解决方案:
方案1:先升级numpy到稳定兼容版,再安装匹配的matplotlib
你的numpy是1.8.0rc1(候选发布版),稳定性差而且和旧版matplotlib的版本检测逻辑可能有冲突,先换成Python2.7支持的最高稳定numpy版本:
pip install --upgrade numpy==1.16.6
然后安装Python2.7兼容的最后一版matplotlib,避免自动安装老旧的1.3.1版本:
pip install matplotlib==2.2.5
最后再安装剩下的依赖:
pip install scipy==1.2.3 scikit-learn==0.20.4 hmmlearn==0.2.3 simplejson==3.17.6 eyed3==0.9.6 pydub==0.25.1
方案2:用虚拟环境隔离系统Python(更推荐)
系统自带的Python2.7很容易因为全局依赖混乱出问题,用virtualenv创建独立环境更稳妥:
- 先安装virtualenv:
pip install virtualenv
- 创建专门用于pyAudioAnalysis的虚拟环境:
virtualenv pyaudio_learning_env
- 激活虚拟环境(每次使用前都要执行):
source pyaudio_learning_env/bin/activate
- 在激活的环境里直接安装指定好版本的所有依赖,一步到位:
pip install numpy==1.16.6 matplotlib==2.2.5 scipy==1.2.3 scikit-learn==0.20.4 hmmlearn==0.2.3 simplejson==3.17.6 eyed3==0.9.6 pydub==0.25.1
为啥要这么做?
因为Python2.7已经停止官方支持了,大部分第三方包的最新版本都不再兼容它。你遇到的错误本质是pip默认给Python2.7拉了非常老旧的matplotlib1.3.1,而它的版本检测逻辑对numpy候选版识别有问题。换成稳定的numpy+匹配的matplotlib版本后,依赖冲突就解决了。
内容的提问来源于stack exchange,提问作者channae
相关产品推荐
相关产品推荐

