#python-sphinx #autodoc #sphinx-apidoc
#python-sphinx #автодок #sphinx-apidoc
Вопрос:
Я совершенно новичок в Sphinx и просмотрел несколько часов учебных пособий, но не смог найти ответ на свой вопрос
У меня есть текущая структура проекта, подобная следующей
-project folder
|-sub folder 1
| |- sub folder 1.a
| | - ...
|-sub folder 2
| |- sub folder 2.a
| | - ...
|-sub folder 3
| |- sub folder 3.a
| | - ...
|- .py files
|...
|- conf.py
|- index.rst
|- Makefile
|- _build/
| |-doctrees/
| |-html/
| |...(all the html files generated by "make html")
Я включил следующее в свой conf.py
extensions = ['autoapi.extension']
# Document Python Code
autoapi_type = 'python'
autoapi_dir = '../project folder'
внутри каждой из вложенных папок у меня есть файлы .py, которые содержат классы, функции, модули, элементы, которые все должны быть задокументированы. Есть ли способ, которым sphinx будет анализировать текущую папку проекта и все ее подкаталоги в поисках файлов .py для autodoc? Если да, то как мне настроить свой index.rst и conf.py файл, чтобы это произошло?
Ошибка, которую я вижу, заключается в следующем:
Removing everything under '_build'...
Running Sphinx v1.8.5
making output directory...
Extension error:
You must configure an autoapi_dirs setting
Makefile:19: recipe for target 'html' failed
make: *** [html] Error 2
Комментарии:
1. Какое сообщение об ошибке вы получаете?
sphinx-apidoc
следует подобрать пакеты Python, которые по определению должны включаться__init__.py
в каждый каталог, и записывает.rst
исходные файлы. Затем вы запускаетеmake html
создание HTML-версии своих документов.2. @StevePiercy Я добавил свою ошибку выше. Спасибо за быстрый ответ!!
Ответ №1:
Ошибка явная: You must configure an autoapi_dirs setting
. В настройках допущена опечатка conf.py
, в настройках пропущена буква «s» autoapi_dir
. См . Значение конфигурации autoapi_dirs
для autoapi
.
Комментарии:
1. Что вы имеете в виду, опуская «s»? Можете ли вы привести явный пример, используя мой conf.py настройка выше? Вы хотите сказать, что мой «autoapi_dir» на самом деле должен быть «autoapi_dirs»
2. Это исправило эту проблему! Очень признателен!