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

如何让Azure Pipelines从pyproject.toml安装测试环境替代requirements_dev.txt

不能直接替换路径,需要调整pip命令参数

直接把requirements_dev.txt换成pyproject.toml是不行的——因为pip的-r参数专门用来读取requirements格式的文件,而pyproject.toml是遵循PEP规范的项目配置文件,两者格式不兼容,无法用-r加载。

你需要根据pyproject.toml的配置方式调整脚本,常见的两种处理方式如下:


情况1:pyproject.toml已通过可选依赖定义dev环境

如果你的pyproject.toml里已经用[project.optional-dependencies]块定义了开发依赖(比如测试、格式化工具),可以直接结合可编辑安装命令一次性搞定:

修改后的Azure Pipelines脚本:

- script: |
    set -eux
    # 先升级pip确保支持pyproject.toml的可选依赖
    pip install --upgrade pip
    # 安装项目的可编辑版本+dev依赖组
    pip install --disable-pip-version-check -e "$(Pipeline.Workspace)/src[dev]"
  displayName: Install package with dev dependencies

对应的pyproject.toml配置示例:

[project]
name = "your-package"
version = "0.1.0"

[project.optional-dependencies]
dev = [
  "pytest>=7.0",
  "black>=23.0",
  "flake8>=6.0",
  # 其他开发依赖
]

情况2:用Poetry/Flit等工具管理依赖

如果你的项目用Poetry或Flit这类工具维护pyproject.toml,需要改用对应工具的安装命令,比如Poetry的情况:

- script: |
    set -eux
    pip install --upgrade pip poetry
    poetry install --no-root
    poetry add --editable "$(Pipeline.Workspace)/src"
  displayName: Install package with dev dependencies via Poetry

关键注意事项

  • 确保pip版本≥21.0:老版本pip不支持从pyproject.toml读取可选依赖,所以脚本里最好加上升级pip的步骤。
  • 验证依赖定义:确认pyproject.toml里的dev依赖配置正确,避免安装时遗漏必要的测试工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:26:02