Используя sphinx-apidoc, make html не может найти модуль - PullRequest
0 голосов
/ 20 декабря 2018

Я использую sphinx-apidoc и, хотя файлы .rst генерируются, кажется, что модули не могут быть проанализированы, когда я запускаю 'make html'.Ошибки выглядят так:

WARNING: autodoc: failed to import module u'mathext' from module u'MyRootFolder'; the following exception was raised:
No module named MyRootFolder

Я понимаю, в чем проблема, но не знаю, как ее исправить;MyRootFolder на самом деле является просто корневым каталогом, добавленным в sys.path, и модуль 'mathext' импортируется в Python 'import mathext'.

Я подозреваю, что apidoc берет корневой путь, 'MyRootFolder' и выполняет'import MyRootFolder.mathext'.

Вверху моего файла conf.py находится следующее объявление:

sys.path.insert(0, os.path.abspath('../'))

Структура папок выглядит следующим образом

MyRootFolder
    docs
        conf.py
        ...
    mathext.py
    another_package
        __init__.py
    third_module.py

Вот команды, которые я выполняю (из папки docs):

sphinx-apidoc /o ./_modules ../
make html

Результат docs / _modules / MyRootFolder.mathext

MyRootFolder namespace
======================

Submodules
----------

MyRootFolder.mathext module
------------------------

.. automodule:: MyRootFolder.mathext
    :members:
    :undoc-members:
    :show-inheritance:

РЕДАКТИРОВАТЬ: обнаружил, что если я запускаю sphinx-apidoc явно для каждого модуля / пакета в MyRootFolder:

sphinx-apidoc -o ./_modules ../another_package

И затем запустить 'make help' Я больше не получаю эту ошибку.Однако это может быть сделано только для каждого пакета (в качестве источников принимаются только папки), и я не могу получить документацию для "mathext.py"

...