首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python setup.py setuptools_scm use_scm_version/get_version()错误

Python setup.py setuptools_scm use_scm_version/get_version()错误
EN

Stack Overflow用户
提问于 2022-05-04 20:49:39
回答 2查看 1.8K关注 0票数 0

亲爱的,我的对接构建(RUN python3 setup.py install)继续失败,出现了以下错误:LookupError: setuptools-scm was unable to detect version for '/src'.,我知道有很多关于这方面的文章,但我仍然无法解决。这是我的回购:

代码语言:javascript
复制
.
├── Dockerfile
├── VERSION  # a one-line file: 1.5.0
├── package
│   ├── __init__.py
│   ├── module.py
├── setup.py
└── .git

这是我的setup.py文件:

代码语言:javascript
复制
from setuptools import setup

setup_requirements = [
    'setuptools_scm==3.5.0',
    "Cython==0.29.24",
]
setup(
    ...
    use_scm_version=True,
    setup_requires=setup_requirements,
    ...
)

几个人注意到:

  1. 如果我运行git describe,我会得到我希望use_scm_version找到的版本:1.5.0-rc.1
  2. 如果我注释掉了use_scm_version=True,而使用了version=1.5.0,它就会工作得很好。

非常感谢你的帮助,我被困住了。干杯:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-29 12:19:51

我刚刚遇到了一个类似的问题(花了几个小时)。在我维护的CI管道上。

这是由于setuptools_scm默默地忽略了与此git漏洞修复版相关的git错误,请参阅供应链管理/问题/707

这里是一个(类似/重复)问题报告,它也显示了如何诊断该问题。

票数 1
EN

Stack Overflow用户

发布于 2022-05-05 20:00:00

您要构建的包中是否有git和.git目录(元数据)?setuptools-scm依赖于git (和实际的git签出)或sdist存档中的一些元数据。当两者都不可用时,如上面所述,它会发出抱怨。如果您在构建环境中没有任何元数据(例如当使用Guix构建包时),您可以通过将SETUPTOOLS_SCM_PRETEND_VERSION导出到您选择的版本字符串来安抚setuptools-scm,并且它将使用它。

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

https://stackoverflow.com/questions/72119328

复制
相关文章

相似问题

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