ibrosa 0.7.0 在 pip 安装时自动卸载了你之前装好的 numba、llvmlite、numpy、scipy 等包,并且又装回了不兼容的新版本

2025-06-10 16:35:33

ibrosa 0.7.0 在 pip 安装时自动卸载了你之前装好的 numba、llvmlite、numpy、scipy 等包,并且又装回了不兼容的新版本

 

到的问题是librosa 0.7.0 在 pip 安装时自动卸载了你之前装好的 numba、llvmlite、numpy、scipy 等包,并且又装回了不兼容的新版本(比如 numba 0.60.0、llvmlite 0.43.0),这正是“老项目在 Windows+pip 下安装永远不对齐依赖”的经典死循环。

 

现在的状态总结

  • pip 装 librosa 0.7.0 时,会强制拉最新版 numba/llvmlite(这是 pip 依赖地狱的锅),导致又回到“numba.decorators 不存在”的报错。
  • 只要你 pip install librosa==0.7.0,pip 就会把 numba/llvmlite 自动升级到新版本,无法用 pip 保持老版本共存

2025年解决 Windows pip 依赖地狱的唯一可行方案

最稳妥做法——用 Conda 环境管理

你用的是 pip,pip 无法强制依赖“降级不升级”。只有 conda 能保证依赖树100%一致。

步骤如下:

  1. 安装 miniconda(如果未安装)
    官方下载页面

  2. 新建一个独立环境

    bash

    复制

    conda create -n wav2lip_env python=3.9
    conda activate wav2lip_env
    
  3. 用 conda 安装 Wav2Lip 依赖(确保老版本)

    bash

    复制

    conda install numpy=1.19.5 scipy=1.7.3 numba=0.48 llvmlite=0.31.0
    
  4. 用 pip 装 librosa 0.7.0,conda 不会自动升级 numba/llvmlite

    bash

    复制

    pip install librosa==0.7.0
    
  5. 继续安装其它依赖

    bash

    复制

    pip install torch==1.10.2 torchvision==0.11.3 tqdm==4.45.0 opencv-python==4.5.5.64 opencv-contrib-python==4.5.5.64
    
  6. 验证

    bash

    复制

    python -c "import librosa; print(librosa.__version__)"
    

如果你坚持只用 pip

那么pip 安装 librosa 0.7.0 时永远会“自动升级” numba/llvmlitepip 无法解决依赖地狱,你遇到的问题是 pip 的根本机制决定的。

退而求其次的 pip 方案(能运行不报错就行,不保证100%兼容)

  1. 先装 librosa 0.7.0(让它升级依赖)
  2. 再强制降级 llvmlite/numba 到兼容版本(重复多次,pip list 检查)
  3. 每次装其他包都可能被再次升级,依赖关系会反复被破坏

这不是长久之计,建议还是用 conda。


结论

  • 你当前遇到的循环卸载/升级,就是 pip 依赖地狱,pip 解决不了。
  • 用 conda 新建环境,先 conda 装老 numba/llvmlite,再 pip 装 librosa,100% 无冲突!
  • 不要在系统 Python 或 mingw64 下用 pip 装老包,永远绕不出来。

发表评论:

Powered by PHP 学习者(mail:517730729@qq.com)

原百度博客:http://hi.baidu.com/ssfnadn

备案号:闽ICP备17000564号-1

开源中国 PHPCHINA