Как настроить buildout для создания документации sphinx с помощью bin/sphinxbuilder
В моем файле buildout.cfg у меня есть такой код:
parts =
...
sphinxbuilder
Далее в том же файле:
eggs=
...
jinja2
markupsafe
sphinx
а затем в конце файла:
[sphinxbuilder]
recipe = collective.recipe.sphinxbuilder
source = ${buildout:directory}/docs-src
build = ${buildout:directory}/docs
Я делаю:
bin/buildout
который дает вывод (в общем случае: ОК):
Updating sphinxbuilder.
collective.recipe.sphinxbuilder: writing MAKEFILE..
collective.recipe.sphinxbuilder: writing BATCHFILE..
collective.recipe.sphinxbuilder: writing custom sphinx-builder script..
В папке с яйцами у меня есть Sphinx
eeg.
После buildout
, в каталоге проекта у меня есть один, новый каталог: docs
.
то я запустил команду:
bin/sphinx-quickstart
и как root path for the documentation
я установил docs
тогда я редактирую docs/conf.py
и раскомментирую
sys.path.insert(0, os.path.abspath('.'))
Я запускаю команду bin/sphinxbuilder
и получаю ошибку:
Makefile:12: *** The 'sphinx-build' command was not found.
Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the 'sphinx-build' executable.
Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/. Stop.
Основные проблемы:
(1) Как заставить sphinx работать автоматически с помощью buildout?
(2) Как установить правильный путь к проектным модулям (приложениям) в файлах .rst?
(3) Где разместить файл conf.py
?
Ответы
Ответ 1
В окнах здесь, но я, похоже, напоминаю аналогичную проблему.
расширение следующего cfg обеспечивает две вещи:
1) все точки входа, которые мы генерируем, имеют доступ к яйцам сфинкса
2) части, которые полагаются на точки входа sphinx, будут выполнены - после того, как будут созданы те точки входа
[sphinx]
eggs =
sphinx
<if you have theme eggs or other extensions, put em here>
parts =
sphinx.console_scripts
[sphinx.console_scripts]
recipe = zc.recipe.egg
dependent-scripts = true
eggs =
${sphinx.eggs}
${buildout:eggs}
Используя это, вы также можете добавлять части, которые полагаются на исполняемые файлы build/apidoc, и создание вашей документации становится частью сборки с одним щелчком мыши:
[sphinx.apidoc]
recipe = plone.recipe.command
command = ${buildout:bin-directory}\sphinx-apidoc.exe <all your flags/settiongs based on buildout>