ReadTheDocs + Sphinx + setuptools_scm:如何?

ReadTheDocs + Sphinx + setuptools_scm: how to?

我有一个项目,我通过 git 标签管理版本。 然后,我使用 setuptools_scm 在我的 setup.py 中获取此信息,并生成一个文件 (_version.py),在为 pip.[=25= 生成轮子时包含该文件]

此文件未被 git 跟踪,因为:

  1. 它具有与 git
  2. 可以收集的相同信息
  3. 这会造成循环情况,即构建轮子会修改版本,从而更改源并生成新版本

现在,当我构建文档时,从 _version.py 获取此版本变得很自然,这一切都在本地运行良好。

但是,当我尝试在 ReadTheDocs 中执行此操作时,文档构建失败,因为 _version.py 未被 git 跟踪,因此 ReadTheDocs 在从存储库。


编辑:我尝试使用duplicate中提出的方法,这与setuptools_scm相同在文档中指出,即在 docs/conf.py:

中使用
from pkg_resources import get_distribution
__version__ = get_distribution('numeral').version
... # I use __version__ to define Sphinx variables

但我得到:

pkg_resources.DistributionNotFound: The 'numeral' distribution was not found and is required by the application

(同样,在本地构建文档工作正常。)


如何在不求助于在两个地方维护版本号的情况下解决这个问题?

最终的问题是 ReadTheDocs 没有默认构建我的包的选项,我期待这种情况发生。

我所要做的就是在高级设置/默认设置中启用"Install Project"。