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

如何解决databricks-registry-webhooks的databricks.proto TypeError错误?

解决MLflow模型注册Webhook导入时的databricks.proto重复错误

问题原因

该错误源于多个Python包(如databricks-sdk和databricks-registry-webhooks)包含同名的databricks.proto文件,导致Protobuf描述符池冲突,无法构建正确的proto描述。

解决方案

1. 统一兼容的依赖版本

先卸载现有冲突包,再安装经过验证的兼容版本组合:

pip uninstall -y databricks-sdk databricks-registry-webhooks
pip install databricks-registry-webhooks==0.1.7 databricks-sdk==0.20.0

(版本号可根据官方兼容文档调整,上述组合是社区验证有效的版本)

2. 使用虚拟环境隔离依赖

通过虚拟环境避免全局包冲突,确保项目依赖独立:

# 创建虚拟环境
python -m venv mlflow-webhook-env

# 激活虚拟环境(Windows)
mlflow-webhook-env\Scripts\activate

# 激活虚拟环境(macOS/Linux)
source mlflow-webhook-env/bin/activate

# 安装所需依赖
pip install databricks-registry-webhooks databricks-sdk

3. 改用Databricks SDK原生API(推荐)

新版本databricks-sdk已整合MLflow模型注册Webhook功能,无需单独安装databricks-registry-webhooks,直接使用原生API即可避免冲突:

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.ml import WebhookCreate, JobSpec, HttpUrlSpec

# 初始化Workspace客户端
w = WorkspaceClient()

# 创建模型注册Webhook示例(触发任务)
w.model_registry_webhooks.create(
    name="model-version-created-webhook",
    events=["MODEL_VERSION_CREATED"],
    job_spec=JobSpec(job_id="你的任务ID")
)

# 创建HTTP类型Webhook示例
w.model_registry_webhooks.create(
    name="model-stage-change-webhook",
    events=["MODEL_VERSION_STAGE_TRANSITIONED"],
    http_url_spec=HttpUrlSpec(url="你的Webhook接收地址")
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:57:25