导入librosa时报ModuleNotFoundError缺少numba.decorators如何解决
报错诱因
这个错误是librosa与numba版本不兼容导致的:
- numba 从0.53版本开始正式移除了内部的
numba.decorators模块 - 0.8.0及更早版本的librosa,代码中仍然在调用
numba.decorators下的接口 - 如果安装依赖时没有锁定版本,出现「老版本librosa + 0.53及以上版本numba」的组合,导入时就会触发该模块找不到的异常。
- 混用pip、conda源安装两个包时,不同包管理工具的依赖解析逻辑不一致,也容易出现这类版本匹配错误。
修复方案
根据自身使用需求选一种方案操作即可:
- 方案1(最简便,推荐):直接升级librosa到最新正式版,新版本librosa已经适配了高版本numba的接口,不再依赖已移除的
numba.decorators模块,执行以下命令:
pip install --upgrade librosa
- 方案2(需要保留老版本librosa时选择):卸载现有不匹配的包,安装经兼容验证的版本组合:
pip uninstall -y librosa numba pip install numba==0.48.0 librosa==0.8.1
- 方案3(conda环境用户适用):不要混装pip源和conda源的包,直接通过conda-forge源安装,让环境自动解析匹配的依赖版本:
conda install -c conda-forge librosa
操作完成后,在Python环境执行import librosa,无报错即修复完成。
内容的提问来源于stack exchange,提问作者Kalyan Chakravarthi
相关产品推荐
相关产品推荐

