Sphinx- Как сделать autodoc файлы .py, расположенные в нескольких папках?

Я новичок как в Python, так и в Sphinx, и я пытаюсь скопировать файлы Python в autodoc, расположенные в каталоге, структура которого аналогична следующей:

Project
├── Sphinx
|   ├── index.rst
|   ├── autodoc.rst
|   └──  conf.py
├── Scripts
|   ├── file1.py
|   └──  file2.py
|   ├── folder
|   |   └── file3.py

Мой файл conf.py содержит:

sys.path.insert(0, os.path.abspath("../Scripts/"))

А автодок содержит:

.. automodule:: file1
  :members:

.. automodule:: file2
  :members:

.. automodule:: folder.file3
  :members:

File3.py не автодокументируется правильно (ошибка: нет модуля с именем metric.billpay)

Я также пробовал:

.. automodule:: folder/file3
  :members:

Но я получаю

ВНИМАНИЕ: недействительная подпись для автоматического режима (u'folder / file3 ')

ВНИМАНИЕ: не знаю, какой модуль импортировать для автодокументирования u'folder / file3 '(попробуйте поместить в документ директиву «module» или «currentmodule» или указать явное имя модуля)

Кто-нибудь знает, как это исправить? Я новичок в Python, Sphinx и StackOverflow, поэтому приношу свои извинения, если есть проблемы с этим вопросом.


person B. Evans    schedule 22.06.2018    source источник


Ответы (1)


Вдобавок тоже:

sys.path.insert(0, os.path.abspath("..Scripts/"))

Я добавил это позже:

sys.path.insert(0, os.path.abspath("..Scripts/Folder/"))

Это позволило мне получить доступ к файлам в папке с помощью autodoc.

person B. Evans    schedule 22.06.2018
comment
Вот это да. Я бился головой об стену с той же проблемой в течение последних 2 дней, пробуя все, кроме этого. Идеально. - person David Zemens; 12.11.2018