У меня есть проект, в котором я управляю версией с помощью тегов git
. Затем я использую setuptools_scm
, чтобы получить эту информацию в моем setup.py
, а также генерирует файл (_version.py
), который включается при создании колеса для pip
.
Этот файл не отслеживается git
, поскольку:
- он имеет ту же информацию, которую может собрать
git
- , это создаст круговую ситуацию, когда построение колеса изменит версию, которая изменит исходники и новая версия будут сгенерированы
Теперь, когда я собираю документацию, становится естественным получить эту версию из _version.py
, и все это хорошо работает локально.
Однако , когда я пытаюсь сделать это в ReadTheDocs, сборка документации завершается неудачно, поскольку _version.py
не отслеживается git
, поэтому ReadTheDocs не находит его при извлечении источников из хранилища.
РЕДАКТИРОВАТЬ : Я пытался использовать метод, предложенный в дубликате , который совпадает с тем, что 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: «Цифровое» распределение не найдено и требуется приложением
(Опять же, локальная сборка документации работает правильно.)
Как можно решить эту проблему, не прибегая к поддержке номера версии в двух местах?