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

ML Studio中Python SDK V2自定义Python3.11环境版本不符问题求助

问题分析与解决方案

Python版本3.8.21的来源

  • 当使用Environment.from_pip_requirements()方法时,若未显式指定Python版本,SDK会默认读取当前运行笔记本的Python环境版本,并将其写入生成的conda yaml文件。你通过pip freeze > requirements.txt导出的是当前笔记本环境的依赖,而该环境的Python版本恰好是3.8.21,因此这个版本被带入了conda配置。
  • 尽管你指定了含Python3.11的Docker基础镜像,但from_pip_requirements生成的conda配置会覆盖基础镜像中的系统Python版本——因为conda环境的优先级高于基础镜像自带的Python。

如何自定义为Python3.11

以下两种方法可解决该问题:

方法1:显式设置conda依赖中的Python版本

通过from_pip_requirements创建环境后,手动修改其conda依赖,指定Python3.11:

from azure.ai.ml.entities import Environment

# 从requirements.txt初始化环境
env = Environment.from_pip_requirements(
    name="custom-env-py311",
    file_path="requirements.txt",
    image="mcr.microsoft.com/azureml/curated/minimal-py311-inference:14"
)

# 强制设置Python版本为3.11
env.conda_dependencies.set_python_version("3.11")

# 注册环境到ML Studio
ml_client.environments.create_or_update(env)

方法2:手动编写conda yaml文件控制版本

创建conda_env.yml文件,明确指定Python3.11并引入pip依赖:

name: custom-env
channels:
  - conda-forge
dependencies:
  - python=3.11
  - pip
  - pip:
    - -r requirements.txt

再通过conda配置文件创建并注册环境:

from azure.ai.ml.entities import Environment

env = Environment.from_conda_specification(
    name="custom-env-py311",
    file_path="conda_env.yml",
    image="mcr.microsoft.com/azureml/curated/minimal-py311-inference:14"
)

ml_client.environments.create_or_update(env)

额外提示

  • 确认requirements.txt中的依赖包兼容Python3.11,避免版本冲突。
  • 若无需conda环境,也可直接编写Dockerfile构建环境,彻底绕过conda的版本覆盖问题,但需自行维护Dockerfile内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:01:06