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

如何用uv-pre-commit将依赖分别导出到requirements.txt和requirements-dev.txt

用uv-pre-commit从pyproject.toml分离导出依赖

不需要依赖.in文件,直接通过uv-export的命令参数指定依赖组,就能将常规依赖和开发依赖分离导出到不同文件。具体配置步骤如下:

1. 更新uv-pre-commit版本

确保使用支持依赖组导出的版本(至少0.7.3),旧版本可能不支持相关参数。

2. 配置.pre-commit-config.yaml

替换原有钩子配置,添加两个uv-export实例,分别处理常规依赖和开发依赖:

repos:
  - repo: https://github.com/astral-sh/uv-pre-commit
    rev: 0.7.3
    hooks:
      # 导出仅常规依赖到requirements.txt
      - id: uv-export
        name: uv-export requirements.txt
        args: [--requirements, --output, requirements.txt, --only=dependencies]
        files: ^pyproject\.toml$
      # 导出常规依赖+开发依赖到requirements-dev.txt
      - id: uv-export
        name: uv-export requirements-dev.txt
        args: [--requirements, --output, requirements-dev.txt, --include-group, dev]
        files: ^pyproject\.toml$
      # 自动更新锁文件
      - id: uv-lock

参数说明:

  • --only=dependencies:仅导出pyproject.toml中[project]下的常规依赖
  • --include-group dev:导出常规依赖 + [dependency-groups]下的dev组依赖;如果需要纯开发依赖,替换为--only-group dev
  • files: ^pyproject\.toml$:仅在pyproject.toml变更时触发钩子,避免无效执行

3. 验证效果

运行以下命令触发所有钩子,生成分离的依赖文件:

pre-commit run --all-files

执行后会得到:

  • requirements.txt:仅包含项目核心依赖
  • requirements-dev.txt:包含核心依赖+开发依赖(或纯开发依赖,取决于你选择的参数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:50:05