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

Azure ML SDK2注册自定义环境报错及正确实现方法问询

在Azure ML SDK v2中独立注册自定义环境的正确方式

错误原因

你遇到的AttributeError: 'Environment' object has no attribute '_auto_increment_version'错误,核心原因是混用了Azure ML SDK v1和v2的Environment类:你从azureml.core导入的是SDK v1的Environment对象,但用SDK v2的MLClient来操作它,两类API的对象结构不兼容,导致属性缺失报错。

解决方案

要在SDK v2中独立完成环境注册与构建,需完全使用SDK v2的API体系:

  • 导入SDK v2专属的Environment类(来自azure.ai.ml.entities)
  • 直接通过订阅ID、资源组名、工作区名初始化MLClient,无需依赖SDK v1的Workspace对象
  • 定义好环境的基础镜像、conda依赖配置等参数后,调用ml_client.environments.create_or_update()完成注册

正确实现代码

from azure.ai.ml.entities import Environment
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# 替换为你的Azure资源信息
args_ws = dict(
    subscription_id="你的订阅ID",
    resource_group_name="你的资源组名称",
    workspace_name="你的工作区名称"
)
ml_client = MLClient(credential=DefaultAzureCredential(), **args_ws, enable_telemetry=False)

# 定义自定义环境
env_docker_conda = Environment(
    image="mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.6-cudnn8-ubuntu20.04",
    conda_file="./py310gpu.yml",
    name="py310gpu",
)

# 注册或更新环境到工作区
ml_client.environments.create_or_update(env_docker_conda)

补充说明

执行上述代码后,自定义环境会被独立注册到你的Azure ML工作区中,后续可在任意作业、实验或流水线中直接引用该环境名称,无需依赖特定作业上下文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:42:15