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

Azure DevOps中如何在Conda YAML文件指定--use-deprecated=legacy-resolver

问题描述

在Azure DevOps流水线中通过conda.yml文件创建Conda环境时,因依赖问题导致conda env create -n env-name --file conda.yml命令卡住。已知添加--use-deprecated=legacy-resolver参数可解决该问题,但不清楚如何在流水线配置中正确设置(希望保留Conda环境创建流程,而非直接用pip install)。此前尝试在yml依赖项后附加[--use-deprecated=legacy-resolver](如pandavro [--use-deprecated=legacy-resolver]),但Conda不识别该语法。当前conda.yml配置如下:

channels:
  - conda-forge
  - nodefaults

dependencies:
    - python=3.9.12
    - pip>=19.0
    - pip:
        - numpy==1.22.0
        - pandavro 
        - scikit-learn 
        - ipykernel
        - pyspark
        - mlflow
        - mltable
解决方案

--use-deprecated=legacy-resolver是Conda命令的参数,而非conda.yml文件的配置项,不能直接写在依赖列表里。以下是两种可行的配置方式:

方式1:修改Azure DevOps流水线的命令执行步骤

在流水线的脚本任务中,直接给conda env create命令添加该参数。示例流水线YAML片段如下:

steps:
- script: |
    conda env create -n env-name --file conda.yml --use-deprecated=legacy-resolver
  displayName: 'Create Conda environment with legacy resolver'

如果流水线中使用的Conda版本较旧,建议先升级Conda以确保参数可用:

steps:
- script: |
    conda update -n base conda -y
    conda env create -n env-name --file conda.yml --use-deprecated=legacy-resolver
  displayName: 'Update Conda and create environment'

方式2:在conda.yml中配置经典求解器(Conda 4.11+支持)

若不想每次执行命令都附加参数,可在conda.yml开头添加求解器配置,指定使用旧版经典求解器(效果与命令行参数一致):

solver: classic
channels:
  - conda-forge
  - nodefaults

dependencies:
    - python=3.9.12
    - pip>=19.0
    - pip:
        - numpy==1.22.0
        - pandavro 
        - scikit-learn 
        - ipykernel
        - pyspark
        - mlflow
        - mltable

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:02:50