Автомодуль, сгенерированный из sphinx-apido c, не включает Project Root Directory? - PullRequest
0 голосов
/ 06 апреля 2020

Я попытался сгенерировать файлы auto docstring из каталога project/utils, используя sphinx с этой командной строкой sphinx-apidoc -f -o docs/source/reference project/utils. Команда выполнена успешно, но она не удалась, когда я попытался построить html документ с make html с сообщением:

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

Я обнаружил, что эта проблема была вызвана сгенерированным файлом docs/source/reference/utils.rst, который

utils package
=============

Submodules
----------

utils.projecttask module
------------------------

.. automodule:: utils.projecttask
    :members:
    :undoc-members:
    :show-inheritance:


Module contents
---------------

.. automodule:: utils
    :members:
    :undoc-members:
    :show-inheritance: 

Это работает, только если я изменяю содержимое сгенерированного utils.rst файла на .. automodule:: project.utils.projecttask и .. automodule:: project.utils.

Итак, я попытался изменить системный путь conf.py, но все же не сработало, вот мой системный путь

import os
import sys
docs_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
# print docs_dir
sys.path.insert(0, docs_dir)

Поэтому, как я делаю автоматически сгенерированный первый файл с префиксом project в разделе автомодуля, как описано выше, без необходимости вручную изменять каждый раз, когда я запускаю sphinx-apidoc -f -o docs/source/reference project/utils ? Спасибо

...