Я пытаюсь начать работать со Sphinx, но у меня постоянные проблемы.
Команда: docs/sphinx-quickstart
Отвечаю на все вопросы и все работает нормально.
Команда: docs/ls
Все нормально выглядит. Результат:build Makefile source
Команда: sphinx-build -d build/doctrees source build/html
Вроде работает. Мне удалось открыть файл index.html и увидеть «оболочку» того, что я хочу.
Когда я пытаюсь поместить свой реальный исходный код в source
папку, у меня возникают проблемы.
Команда: sphinx-build -d build/doctrees ../ys_utils build/html
Результат:
Making output directory...
Running Sphinx v1.1.3
loading pickled environment... not yet created
No builder selected, using default: html
loading intersphinx inventory from http://docs.python.org/objects.inv...
building [html]: targets for 1 source files that are out of date
updating environment: 1 added, 0 changed, 0 removed
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Sphinx-1.1.3-py2.6.egg/sphinx/ext/autodoc.py", line 321, in import_object
__import__(self.modname)
ImportError: No module named ys_utils
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Sphinx-1.1.3-py2.6.egg/sphinx/ext/autodoc.py", line 321, in import_object
__import__(self.modname)
ImportError: No module named ys_utils.test_validate_ut
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Sphinx-1.1.3-py2.6.egg/sphinx/ext/autodoc.py", line 321, in import_object
__import__(self.modname)
ImportError: No module named ys_utils.git_utils
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Sphinx-1.1.3-py2.6.egg/sphinx/ext/autodoc.py", line 321, in import_object
__import__(self.modname)
ImportError: No module named setup.setup
/home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:4: WARNING: autodoc can't import/find module 'ys_utils', it reported error: "No module named ys_utils", please check your spelling and sys.path
/home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:10: WARNING: autodoc can't import/find module 'ys_utils.test_validate_ut', it reported error: "No module named ys_utils.test_validate_ut", please check your spelling and sys.path
/home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:12: WARNING: don't know which module to import for autodocumenting u'UnitTests' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
/home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:18: WARNING: autodoc can't import/find module 'ys_utils.git_utils', it reported error: "No module named ys_utils.git_utils", please check your spelling and sys.path
/home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:24: WARNING: autodoc can't import/find module 'setup.setup', it reported error: "No module named setup.setup", please check your spelling and sys.path
WARNING: master file /home/ricomoss/workspace/nextgen/ys_utils/index.rst not found
looking for now-outdated files... none found
pickling environment... done
checking consistency... /home/ricomoss/workspace/nextgen/ys_utils/ys_utils.rst:: WARNING: document isn't included in any toctree
done
preparing documents... done
writing output... [ 50%] index
Exception occurred:
File "/usr/local/lib/python2.6/dist-packages/Sphinx-1.1.3-py2.6.egg/sphinx/environment.py", line 1213, in get_doctree
f = open(doctree_filename, 'rb')
IOError: [Errno 2] No such file or directory: '/home/ricomoss/workspace/nextgen/docs/build/doctrees/index.doctree'
The full traceback has been saved in /tmp/sphinx-err-jjJ7gM.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at <http://groups.google.com/group/sphinx-dev/>,
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
Я новичок в Sphinx и относительно новичок в подобной документации. Кто-нибудь может предложить какие-нибудь предложения?
Редактировать:
Я хотел бы иметь возможность использовать Makefile, чтобы справиться с этим. На данный момент у меня в проекте две папки.
nextgen/ls
docs ys_utils
Мне нужно nextgen/docs/Makefile
сгенерировать HTML для ys_utils
всех остальных модулей, которые мне понадобятся .
conf.py
./app
,/docs
... Вы могли бы использовать ,sys.path.append(os.path.join(os.path.dirname(__name__), '..'))
а затем использовать.. automodule:: app
в вашем.rst
-файле.Если
__init__.py
размещен правильнои ваш автодок все еще не может найти модули ...
Это может быть связано с тем, что зависимости этих модулей не удовлетворяются в вашей среде python. Вам нужно будет проверить, все ли операторы импорта работают в модулях.
источник
Кажется, я сделал это в первый раз, когда попытался добавить файл в токтри. Думаю, это потому, что я пропустил пустую строку между строкой: maxdepth и именем файла.
Выше мой файл index.rst. stuff.rst находится в том же каталоге, что и он.
источник
index.rst
в/docs/source
и/ys_utils
. Полагаю, это должно быть вdocs
версии? Я просто используюindex.rst
файл по умолчанию , созданный с помощьюsphinx-quickstart
.sys.path
, поэтому autodoc не может их найти. Эти.rst
файлы найдены.Я получил ту же ошибку, но она была вызвана совершенно другой причиной, чем объяснено в других ответах.
Моя
.. automethod:: mymodule.func
директива на самом деле должна была быть:источник
Вы можете использовать форматирование Pweave и noweb для создания первых документов, включающих вывод встроенного в них кода. По сути, вы пишете свой первый файл с кодом Python, встроенным в отмеченные фрагменты, например:
и Pweave выполнит эти блоки и заменит их выводом в результирующем первом файле, который затем можно будет использовать со sphinx. См. Пример Pweave reST для получения более подробной информации о том, как это выглядит.
источник