Azure Databricks导入Whisper遇Numba与NumPy版本冲突问题求助
解决Azure Databricks中Whisper依赖的NumPy版本冲突问题
一、先排查版本未降级的核心原因
Azure Databricks运行环境默认预装高版本NumPy,直接用pip安装指定版本时,可能因环境包路径优先级问题,实际加载的还是系统预装版本。先执行以下代码确认当前环境的包信息:
import numpy print(numpy.__file__) print(numpy.__version__)
如果输出路径是Databricks系统目录(如/databricks/python3/lib/python3.x/site-packages),说明你用pip安装的包在用户目录,但系统目录包优先级更高。
二、强制覆盖系统预装NumPy的可行方法
方法1:用pip参数强制重装到用户目录
在Databricks notebook中执行以下命令,强制将指定版本包安装到用户目录,并确保用户目录优先级高于系统目录:
!pip install --force-reinstall --user numpy==1.22.4 numba==0.58.0
安装完成后必须重启当前notebook的内核,再重新检查NumPy版本。
方法2:用Databricks库管理功能替换系统级包
- 进入Databricks工作区的「库」页面,点击「创建」;
- 选择「PyPI」,输入
numpy==1.22.4,绑定目标集群后点击「安装」; - 按同样步骤安装
numba==0.58.0、torch==2.1.0等依赖包; - 重启集群后,在notebook中验证版本。
这种方式直接替换集群的系统级包,优先级最高,能彻底解决版本冲突。
三、替代方案:用conda环境隔离依赖
如果pip方式始终无效,可在Databricks中创建独立conda环境隔离Whisper依赖:
- 在notebook中执行以下命令创建并配置环境:
%conda create -n whisper_env python=3.9 -y %conda activate whisper_env !pip install openai-whisper numpy==1.22.4 numba==0.58.0 torch==2.1.0 triton==2.0.0 tiktoken==0.3.3
- 使用Whisper前,通过魔法命令切换到该环境:
%conda activate whisper_env
之后执行import whisper即可正常加载。
四、验证修复结果
完成操作后,执行以下代码确认问题解决:
import numpy import numba import whisper print(f"NumPy版本: {numpy.__version__}") print(f"Numba版本: {numba.__version__}") print("Whisper导入成功")
内容的提问来源于stack exchange,提问作者Al Bundy
相关产品推荐
相关产品推荐

