저는 스핑크스를 시작하려고 노력 중이며 끊임없는 문제가있는 것 같습니다.
명령: 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
과 내가 가질 다른 모든 모듈 을 생성 해야 합니다 .
답변
.NET Framework에없는 모듈이므로 Autodoc에서 모듈을 찾을 수 없습니다 sys.path
.
에 모듈 경로를 포함 sys.path
해야합니다 conf.py
. 을 conf.py
(를 sys
) 가져온 직후 상단 sys.path.insert()
을 보면 적응할 수 있는 진술이 있습니다.
그건 그렇고 : Makefile
Sphinx 에서 만든을 사용하여 문서를 만들 수 있습니다. 그냥 전화 해
make
옵션을 보려면.
시도하기 전에 문제가 발생한 경우 :
make clean
실행하기 전에 make html
.
답변
그것은 같은 소리 os.path.append()
사람들에 대한 확인을하고있다, 그러나 당신이 따르는 경우 conf.py
템플릿을, 당신의 전면에 모듈 경로를 삽입합니다 sys.path
사용 os.path.insert(0, ...)
, 그냥 여분을 추가.
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
sphinx
별도의 build
및 source
디렉토리 를 사용하도록 프로젝트를 설정 한 경우 해당 호출은 다음 과 같아야합니다.
sys.path.insert(0, os.path.abspath('../..'))
답변
에 conf.py
프로젝트 폴더에 경로를 추가하기 만하면됩니다.
sys.path.append('/home/workspace/myproj/myproj')
답변
만약
- 모듈 루트 경로가 conf.py에 올바르게 설정되었습니다.
__init__.py
올바르게 배치- 첫 번째 구문이 정확합니다.
autodoc이 여전히 모듈을 찾을 수 없습니다 …
해당 모듈의 종속성이 Python 환경에서 충족되지 않았기 때문일 수 있습니다. 모든 import 문이 모듈 내에서 작동하는지 확인해야합니다.
답변
처음으로 toctree에 파일을 추가하려고 할 때 이것을 한 것 같습니다. : maxdepth 줄과 파일 이름 사이에 빈 줄을 생략했기 때문이라고 생각합니다.
.. Animatrix Concepts documentation master file, created by
sphinx-quickstart on Thu Mar 22 18:06:15 2012.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Animatrix Concepts documentation!
============================================
Contents:
.. toctree::
:maxdepth: 2
stuff
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
위는 내 index.rst 파일입니다. stuff.rst는 그것과 같은 디렉토리에 있습니다.
답변
이 같은 오류가 발생했지만 다른 답변에서 설명한 것과 완전히 다른 이유 때문에 발생했습니다.
내 .. automethod:: mymodule.func
지시는 실제로 다음과 같아야합니다.
.. automethod:: mymodule::func`
답변
당신은 사용할 수 있습니다 Pweave 및 noweb 그들에 포함 된 코드의 출력을 포함하는 첫 번째 문서를 생성하기 위해 포맷. 기본적으로 다음과 같이 표시된 청크에 포함 된 Python 코드를 사용하여 rst 파일을 작성합니다.
<<echo=False>>=
print("some text that will appear in the rst file")
@
Pweave는 해당 청크를 실행하고 결과 rst 파일의 출력으로 대체하여 스핑크스와 함께 사용할 수 있습니다. 참고 항목 Pweave 나머지 예를 보이는 방법의 자세한 내용입니다.