You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks升级NumPy后仍加载旧版本致umap导入失败求助

解决Azure Databricks中Numpy升级后仍加载旧版本的问题

问题根源

Azure Databricks集群默认自带的Numpy位于系统路径(/databricks/python3/lib/python3.9/site-packages),优先级高于用户通过pip install --upgrade安装的新版本,导致Python始终加载旧版本Numpy,引发UMAP依赖的Numba版本冲突。

解决步骤

方法1:调整模块搜索路径(临时生效,会话级)

  1. 先确认当前Numpy的版本、安装路径,以及用户站点包位置:
import numpy as np
print(f"当前Numpy版本: {np.__version__}")
print(f"当前Numpy路径: {np.__file__}")

import site
user_site = site.getusersitepackages()
print(f"用户站点包路径: {user_site}")
  1. 重新将Numpy安装到用户目录,并调整sys.path让用户路径优先级最高:
import sys

# 升级Numpy到用户目录
!{sys.executable} -m pip install numpy==1.26.0 --user

# 将用户站点包路径插入到模块搜索列表最前面
sys.path.insert(0, user_site)

# 重新导入验证
import numpy as np
print(f"升级后Numpy版本: {np.__version__}")
import umap.umap_ as umap

方法2:通过集群库安装(全局生效,永久解决)

  1. 打开Databricks集群管理页面,切换到库标签页
  2. 点击安装新库,选择PyPI类型,输入numpy==1.26.0
  3. 安装完成后重启集群,此时集群全局使用新版本Numpy,无需调整路径即可直接导入UMAP

方法3:同步升级Numba(可选)

若仍有依赖问题,可同步升级UMAP依赖的Numba库:

!{sys.executable} -m pip install numba --user

注意事项

  • pkg_resources.require("numpy==1.26.0")失效的原因是Python已经提前加载了系统路径下的旧版本Numpy,此时强制指定版本会触发冲突,必须让Python优先加载用户目录的新版本后再导入。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:00:04