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

如何在Databricks Worker上安装Python包且避免重启Python解释器?

在Databricks Worker上安装Python包且不重启解释器的解决方案

问题背景

生产环境机器学习任务持续失败,报错信息如下:

InvalidConfigurationError: You haven't configured the CLI yet! Please configure by entering /databricks/python_shell/scripts/PythonShell.py configure

改用%pip install替代原有的%sh pip install后,解决了上述报错,但%pip命令会触发Python解释器重启,导致之前的计算结果全部丢失。需要找到无需重启解释器的包安装方法。

可行解决方案

1. 代码内直接调用pip(临时应急场景)

直接在Python代码中执行pip安装,无需使用魔法命令,不会触发解释器重启:

import sys
from subprocess import check_call

# 替换为实际需要安装的包名
check_call([sys.executable, "-m", "pip", "install", "--no-cache-dir", "your-target-package"])

# 若需立即使用新安装的包,重新加载模块
import importlib
import your_target_package
importlib.reload(your_target_package)

注意:该方式仅对当前会话有效,集群重启后需重新执行安装。

2. 集群级预安装包(生产环境推荐)

通过集群配置预安装包,从根源避免临时安装带来的问题:

  • 进入Databricks集群配置页面,打开Libraries选项卡
  • 点击Install New,选择PyPI类型,输入目标包名后确认安装
  • 重启集群,所有Worker节点将预装该包,任务运行时无需再执行安装操作

3. 初始化脚本批量安装(复杂场景)

若需批量安装多个包或执行复杂安装逻辑,使用集群初始化脚本:

  1. 创建Shell脚本(如install_deps.sh),内容示例:
#!/bin/bash
/databricks/python/bin/pip install package1 package2 package3
  1. 将脚本上传至DBFS或云存储服务
  2. 在集群配置的Advanced Options → Init Scripts中添加脚本路径
  3. 重启集群,脚本会在每个Worker节点启动时自动执行安装,不影响任务运行时的解释器状态

补充提示

生产环境应优先采用集群预安装或初始化脚本的方式,避免在任务执行中途临时安装包,保证任务稳定性。%pip魔法命令的重启机制是Databricks的设计逻辑,用于确保包在整个会话中全局生效,临时场景可优先使用代码内调用pip的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:25:27