Я попытался сгенерировать файлы 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
? Спасибо