WARNING: autodoc: failed to import module 'upload_data_to_server' from module 'manual';
Я пытаюсь документировать проект Django, используя расширение Sphinx's autodoc. У меня две основные проблемы:
- В некоторых модулях документация избыточна (импортируется документация, которая мне не нужна из django)
- В одном из пакетов документация отсутствует вообще.
Вот мое дерево django:
|main_app
| core
| migrations
| static
| templates
| consumers.py
| forms.py
| models.py
| routing.py
| serializers.py
| urls.py
| views.py
| main_app
| asgi.py
| settings.py
| urls.py
| wsgi.py
| manual
| upload_data_to_server.py
| manage.py
| docs
| _build
| _static
| _templates
| conf.py
| index.rst
| make.bat
| Makefile
Файл docs - это файл, который я создал для размещения файлов, созданных sphinx-quickstart. Затем я изменил файл conf.py, добавив следующие строки:
import os
import sys
import django
sys.path.insert(0, os.path.abspath('..'))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main_app.settings")
django.setup()
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon']
И я изменил index.rst, добавив modules:
Welcome to yourProject's documentation!
====================================
.. toctree::
:maxdepth: 2
:caption: Contents:
modules
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Я выполнил sphinx-apidoc -o . .. и ./make html. Я получаю что-то похожее на то, что я хочу, но, как я уже говорил, я получаю слишком много комментариев для файлов django и вообще никаких комментариев для пакета manual.
Я использую этот пакет вручную для вещей вне django, например, для загрузки некоторых данных из какого-нибудь excel в базу данных на сервере. Поэтому он не следует настройкам django. Но как я могу указать это в sphinx? Я получаю эту ошибку, когда ./make html:
WARNING: autodoc: failed to import module 'upload_data_to_server' from module 'manual';
Нужно ли мне добавить какой-то новый путь в conf.py?
С другой стороны, как я могу "очистить" или отредактировать комментарии, созданные autodoc вручную?