首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.dev生成的scm版本,无法上传到PyPi

使用.dev生成的scm版本,无法上传到PyPi
EN

Stack Overflow用户
提问于 2022-07-28 18:54:24
回答 1查看 92关注 0票数 0

当/为什么setuptools-scm将.devXXX附加到其生成的版本中?

在几个repos中,我维护setuptools-scm开始生成版本,并将.devXXX附加到版本号中。这会导致问题,因为此标记对于上载到PyPi无效。

第一次发生这种情况时,我创造了一个解决办法,我认为这是因为我在git中做了一些不适当的事情。这只是发生在一个非常简单的项目,这是非常令人沮丧的。

我之前使用的解决方法是通过use_scm_version劫持版本控制。这不太理想,我想了解根本原因。

谢谢你能提供的任何帮助!

文档在这里:https://github.com/pypa/setuptools_scm/#importing-in-setuppy

代码语言:javascript
复制
# setup.py

def _clean_version():
    """
    This function was required because scm was generating developer versions on
    GitHub Action.
    """
    def get_version(version):
        return str(version.tag)
    def empty(version):
        return ''

    return {'local_scheme': get_version, 'version_scheme': empty}


setuptools.setup(
    ...
    use_scm_version=_clean_version,
    ...
)
EN

回答 1

Stack Overflow用户

发布于 2022-11-16 03:05:30

之所以这样做,是因为提交没有标记,它们的版本值计算如下:

X.Y.(Z+1)-

其中:

X.Y.Z是之前标记的最新提交,它实际上位于/上面。

N是在前一个X.Y.Z之后的提交数。

SHA是当前提交的SHA。

-dev*版本被认为是他们所遵循的测试/预版本。

因此,X.Y.(Z+1)-devN-gSHA被认为是X.Y.(Z+1)的测试版/预版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73157896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档