Estou tentando começar com o Sphinx e pareço ter problemas implacáveis.
Comando: docs/sphinx-quickstart
Eu respondo todas as perguntas e tudo funciona bem.
Comando: docs/ls
Tudo parece normal. Resultado:build Makefile source
Comando: sphinx-build -d build/doctrees source build/html
Parece que funciona. Consegui abrir o arquivo index.html e ver uma "casca" do que estou querendo.
Quando tento colocar meu código-fonte real como a source
pasta, tenho problemas.
Comando: sphinx-build -d build/doctrees ../ys_utils build/html
Resultado:
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!
Sou um novato completo no Sphinx e relativamente novo nesse tipo de documentação. Alguém pode dar algumas sugestões?
Editar:
Eu gostaria de poder usar um Makefile para lidar com isso. No momento, tenho duas pastas em meu projeto.
nextgen/ls
docs ys_utils
Preciso nextgen/docs/Makefile
gerar o HTML para ys_utils
e todos os outros módulos que terei.
fonte
conf.py
./app
,/docs
... você pode usarsys.path.append(os.path.join(os.path.dirname(__name__), '..'))
e depois usar.. automodule:: app
em sua.rst
-file.E se
__init__.py
está colocado corretamentee seu autodoc ainda não consegue encontrar os módulos ...
Pode ser porque as dependências desses módulos não são satisfeitas em seu ambiente python. Você vai querer verificar se todas as instruções de importação estão funcionando dentro dos módulos.
fonte
Acho que fiz isso na primeira vez que tentei adicionar um arquivo à árvore toc. Acho que foi porque deixei de fora a linha em branco entre a linha: maxdepth e o nome do arquivo.
Acima está meu arquivo index.rst. stuff.rst reside no mesmo diretório que ele.
fonte
index.rst
em/docs/source
e/ys_utils
. Eu estou supondo que isso deveria estar nadocs
versão? Estou apenas usando oindex.rst
arquivo padrão que foi criado comsphinx-quickstart
.sys.path
, então o autodoc não consegue encontrá-los. Os.rst
arquivos foram encontrados.Recebi o mesmo erro, mas foi causado por um motivo completamente diferente do explicado nas outras respostas.
Minha
.. automethod:: mymodule.func
diretiva deveria realmente ter sido:fonte
Você pode usar Pweave e noweb formatação para gerar documentos primeiros que incluem a saída do código embutido neles. Basicamente, você escreve seu primeiro arquivo, com o código Python embutido em blocos marcados como este:
e Pweave irá executar esses pedaços e substituí-los por sua saída em um primeiro arquivo resultante, que você pode usar com o sphinx. Veja o exemplo de reST do Pweave para mais detalhes de sua aparência.
fonte