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

setup.cfg的metadata下version配置被pip忽略该如何解决

问题根因

你使用PyScaffold生成的项目默认启用了setuptools-scm版本管理插件,该插件的版本读取优先级高于setup.cfg中手动配置的version字段,会自动从Git仓库的标签和提交记录生成版本号,因此你手动填写的版本配置会被直接覆盖。

解决方案

你可以根据自己的开发需求选择以下任意一种方案解决:

  • 方案1:保留setuptools-scm(PyScaffold推荐最佳实践)
    不需要在setup.cfg中手动填写version配置,直接给当前Git仓库打对应版本的标签即可,执行命令:
    git tag v5.1.1
    
    之后重新执行pip install -e .,setuptools-scm会自动读取标签作为包的版本号。
  • 方案2:关闭setuptools-scm,手动指定版本
    如果你不需要自动版本生成功能,按以下步骤修改配置即可:
    1. 打开项目根目录的pyproject.toml文件:
      • 删掉[build-system]配置中requires列表里的setuptools-scm依赖
      • 删掉整个[tool.setuptools_scm]配置区段
    2. 打开setup.cfg文件:
      • 删掉[metadata]区段中的dynamic = ["version"]配置(如果存在)
      • 保留你手动填写的version = 5.1.1配置
        改完所有配置后重新执行pip install -e .,即可正常读取你手动设置的版本号。
验证方式

安装完成后执行pip show test-package,返回结果中的Version字段会显示你配置的对应版本,确认配置生效即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:24:06