Прочтите TheDocs + Sphinx + setuptools_scm: как? - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть проект, в котором я управляю версией с помощью тегов git. Затем я использую setuptools_scm, чтобы получить эту информацию в моем setup.py, а также генерирует файл (_version.py), который включается при создании колеса для pip.

Этот файл не отслеживается git, поскольку:

  1. он имеет ту же информацию, которую может собрать git
  2. , это создаст круговую ситуацию, когда построение колеса изменит версию, которая изменит исходники и новая версия будут сгенерированы

Теперь, когда я собираю документацию, становится естественным получить эту версию из _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: «Цифровое» распределение не найдено и требуется приложением

(Опять же, локальная сборка документации работает правильно.)


Как можно решить эту проблему, не прибегая к поддержке номера версии в двух местах?

1 Ответ

0 голосов
/ 12 апреля 2020

В конце концов проблема заключалась в том, что в ReadTheDocs не было возможности собрать мой пакет активным по умолчанию, и я ожидал, что это произойдет.

Все, что мне нужно было сделать, это включить «Установить проект» в Advanced. Настройки / Настройки по умолчанию.

...