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

如何在Databricks V2中一次性安装Python包并实现全局共享复用?

Databricks V2中%pip安装包的存储位置与全局复用方案

一、%pip install后包的存储位置

  • 若使用传统交互式集群:包会被安装到集群每个Worker节点的本地Python环境目录,路径类似/databricks/python/lib/python<版本号>/site-packages/,但仅在集群生命周期内有效,集群销毁后文件会被清理。
  • 若使用Serverless集群/Unity Catalog会话集群:%pip安装的包仅存于当前Notebook会话的临时沙箱中,会话结束(如关闭Notebook、集群自动终止)后会被彻底清除,这也是你移除安装命令后重新运行失败的原因。

二、实现全局共享包的方案

以下几种方式可以让所有Notebook复用已安装的包,避免重复执行%pip install:

  • 集群级库安装:在集群的「库」配置页面,添加需要的PyPI包(或上传wheel文件),集群启动时会自动在所有节点安装这些包,所有关联该集群的Notebook都能直接导入使用。
  • Unity Catalog共享环境(需启用UC):创建一个共享Python环境,将常用包预先安装到环境中,之后所有集群都可关联此环境,Notebook无需单独安装包即可直接使用。
  • 自定义集群镜像:将常用Python包打包进自定义的集群镜像,后续创建集群时直接使用该镜像,所有基于此镜像的集群都会自带这些包。
  • 集群初始化脚本:编写Shell脚本,在脚本中执行pip install <包名>命令,将脚本上传至DBFS或云存储,然后在集群设置中配置该初始化脚本,集群启动时会自动执行脚本完成包的安装,所有关联该集群的Notebook都能访问这些包。

补充:V1与V2的差异说明

Databricks V1(旧版Runtime)中部分非内置包可直接导入,大概率是因为这些包是集群级预先安装的(可能是之前通过集群库、初始化脚本或自定义镜像配置的,你没留意到),而V2(新版Runtime/Serverless)更强调会话隔离,Notebook内的%pip install仅作用于当前会话,不会影响全局环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:22:20