Проблема:
Sphinx не отображает документированный код - только оглавление. Я изолировал это до того, что Sphinx не генерирует файлы * .rst для каждого документированного файла * .py при вызове sphinx-apidoc.
Примечание.
Я использую vscode с autodoc, формат autodoc установлен на sphinx в файле настроек vscode.
Мое дерево проекта:
.
└── MNF
├── classes
│ ├── file_parser.py
│ └── README.txt
├── configs
│ ├── datasets.json
│ └── README.txt
├── data_in
│ └── README.txt
├── data_out
│ └── README.txt
├── LICENSE
├── models
│ └── README.txt
├── notebooks
│ ├── eda.ipynb
│ └── README.txt
├── packages.microsoft.gpg
├── papers
│ ├── conda-cheatsheet.pdf
│ ├── dejuan2013.pdf
│ ├── Git-Cheatsheet.pdf
│ └── READE.txt
├── plots
│ └── README.txt
├── __pycache__
│ └── file_parser.cpython-39.pyc
├── README.md
├── src
│ └── README.txt
├── test_branch.txt
├── test_main.txt
├── tests
│ └── README.txt
└── utilities
└── README.txt
Кодекс интересов:
class FileParser:
"""File parser
"""
def __init__(self, root_path="../data_in/"):
"""
:param root_path: root path to search isHiddenWithinTree, defaults to "../data_in/"
:type root_path: str, optional
"""
self.root_path = root_path
def get_root_path(self):
"""Basic getter
:return: root path
:rtype: string
"""
return self.root_path
Шаги, часть 1:
- mkdir docs
- cd документы
- sphinx-quickstart (отдельный исходный файл, добавлено расширение autodoc)
изменить conf.py:
import os
import sys
sys.path.insert(0, os.path.abspath('.'))
to
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
Измените index.rst, чтобы включить модули:
===============================
.. toctree::
:maxdepth: 2
:caption: Contents:
modules
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Шаги, часть 2:
В docs dir
- запустите sphinx-apidoc -o source / ..
- сделать html
Новое дерево документов
.
├── docs
│ ├── build
│ │ ├── doctrees
│ │ │ ├── environment.pickle
│ │ │ ├── index.doctree
│ │ │ └── modules.doctree
│ │ └── html
│ │ ├── genindex.html
│ │ ├── index.html
│ │ ├── modules.html
│ │ ├── objects.inv
│ │ ├── search.html
│ │ ├── searchindex.js
│ │ ├── _sources
│ │ │ ├── index.rst.txt
│ │ │ └── modules.rst.txt
│ │ └── _static
│ │ ├── ajax-loader.gif
│ │ ├── alabaster.css
│ │ ├── basic.css
│ │ ├── comment-bright.png
│ │ ├── comment-close.png
│ │ ├── comment.png
│ │ ├── custom.css
│ │ ├── doctools.js
│ │ ├── down.png
│ │ ├── down-pressed.png
│ │ ├── file.png
│ │ ├── jquery-3.2.1.js
│ │ ├── jquery.js
│ │ ├── minus.png
│ │ ├── plus.png
│ │ ├── pygments.css
│ │ ├── searchtools.js
│ │ ├── underscore-1.3.1.js
│ │ ├── underscore.js
│ │ ├── up.png
│ │ ├── up-pressed.png
│ │ └── websupport.js
файл modules.rst:
git_mnf
=======
.. toctree::
:maxdepth: 4
Проблема 1:
Файл file_parser.rst не создан.
Проблема 2:
На странице index.html нет документации
Справка: я теряюсь с этим. Есть идеи, почему моя документация для FileParse.py не отображается?
Версии:
- Python 3.9.2
- сфинкс 1.6.7
- vscode 1.54.3
- система: mac os
- браузер: firefox
__init__.py
файлов и, следовательно, являются пакетами пространства имен, а не обычными пакетами Python. См. 6.4 Пакеты. Но здесь есть ряд проблем, например: при использовании обычного макета все ваши.py
файлы должны находиться внутри/src/name_your_base_package
, а вconf.py
вы должны использоватьos.path.join('..', '..', 'src')
для импорта из пакета (с__init__.py
)name_your_base_package
. - person bad_coder   schedule 21.03.2021__init__.py
) и понять, как вставлять модули в _ 2_ работает, когда вы что-то выполняете (потому что вставка и поиск также зависят от того, как вы выполняете что-то.) Вот хорошая тема по поиску модулей. Что касается этого конкретного вопроса, не совсем понятно, как вы хотите структурировать свой проект, поэтому на самом деле невозможно дать осмысленный ответ. - person bad_coder   schedule 21.03.2021src
layout и с использованием обычного макет, показывающий, как запустить Sphinx в двух разных макетах проекта. Судя по вашей показанной структуре, трудно сказать, придерживались ли вы того или иного пути, но я бы рекомендовал рассмотреть этот пример. - person bad_coder   schedule 21.03.2021/src
, вы, вероятно, также захотите сделать установка для разработки. Вот простой пример. Выбор макета коррелирует с тем, как вы настраиваете виртуальные среды, и есть несколько возможных решений (отсюда это будет зависеть от вашей конкретной настройки). Но с раскладкой/src
действительно нет ничего плохого, это то, что все используют. - person bad_coder   schedule 21.03.2021