首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将setuptools_scm从6.0.1升级到6.3.1之后,check清单失败

在将setuptools_scm从6.0.1升级到6.3.1之后,check清单失败
EN

Stack Overflow用户
提问于 2021-09-09 14:18:30
回答 1查看 214关注 0票数 0

我一直在为我的setuptools-scm使用6.0.1版本的python项目。该项目还使用带有预提交钩子的check-manifest。自从我将setuptools-scm升级到6.3.1以来,check清单钩子一直失败,出现了以下错误,看起来它无法从sdist打包中确定正确的版本字符串。

代码语言:javascript
复制
ERROR Backend subproccess exited when trying to invoke build_sdist
Traceback (most recent call last):
  File "/home/zobayer/.cache/pre-commit/repoijtr5gb3/py_env-python3/lib/python3.8/site-packages/pep517/in_process/_in_process.py", line 349, in <module>
    main()
  File "/home/zobayer/.cache/pre-commit/repoijtr5gb3/py_env-python3/lib/python3.8/site-packages/pep517/in_process/_in_process.py", line 331, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/home/zobayer/.cache/pre-commit/repoijtr5gb3/py_env-python3/lib/python3.8/site-packages/pep517/in_process/_in_process.py", line 301, in build_sdist
    return backend.build_sdist(sdist_directory, config_settings)
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/build_meta.py", line 225, in build_sdist
    return self._build_with_temp_dir(['sdist', '--formats', 'gztar'],
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/build_meta.py", line 207, in _build_with_temp_dir
    self.run_setup()
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/build_meta.py", line 150, in run_setup
    exec(compile(code, __file__, 'exec'), locals())
  File "setup.py", line 8, in <module>
    setup(
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.8/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/dist.py", line 453, in __init__
    _Distribution.__init__(
  File "/usr/local/lib/python3.8/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools/dist.py", line 831, in finalize_options
    ep(self)
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools_scm/integration.py", line 94, in infer_version
    dist.metadata.version = _get_version(config)
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools_scm/__init__.py", line 185, in _get_version
    dump_version(
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/setuptools_scm/__init__.py", line 90, in dump_version
    parsed_version = Version(version)
  File "/tmp/build-env-nswqxife/lib/python3.8/site-packages/packaging/version.py", line 266, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
packaging.version.InvalidVersion: Invalid version: 'extras-0.3.0.dev3+g4d323bc.d20210909'

有趣的是,报告的版本字符串完全错误(extras-0.3.0.dev3+g4d323bc.d20210909)。库名称的一部分似乎被添加到版本字符串中。

然而,它仍然运行良好的6.0.1,所以降级是一种选择。但我想知道如何让他们一起工作。我已经研究过其他一些建议使用弱标志或设置SETUPTOOLS_SCM_PRETEND_VERSION=0.0的线程,但这些方法都不起作用。我不知道为什么要将extras作为版本字符串的一部分。这是我的pyproject.toml文件:

代码语言:javascript
复制
[build-system]
requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
write_to = "logging_/version.py"
write_to_template = "# -*- coding: utf-8 -*-\n\n__version__ = '{version}'\n"
version_scheme = "release-branch-semver"

[tool.check-manifest]
ignore = ["logging_/version.py"]

[tool.black]
line-length = 120
include = '\.pyi?$'
exclude = '''
/(
    \.eggs
  | \.git
  | \.pytest_cache
  | \.tox
  | \.venv
  | build
  | dist
)/
'''

更新:我在setuptools-scm项目中添加了关于这方面的问题

更新:这确实是检查清单库中的一个错误。去报告问题可能修复

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-15 23:47:26

此问题是由于检查清单库中的错误引起的,其中包含破折号的sdist文件名在试图提取版本字符串时被错误地解析。

可能的解决办法:

  1. 等待维护人员提供修复,
  2. 从预提交或构建依赖项中删除check-清单依赖项。
  3. 将移除破折号的python库重命名为logging_extras,例如setup.py文件中的setup.py。

编辑

我的PR被接受了,修正版用了0.47发布

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

https://stackoverflow.com/questions/69119884

复制
相关文章

相似问题

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