스핑크스 빌드 실패-autodoc이 모듈을 가져 오거나 찾을 수 없습니다.
저는 스핑크스를 시작하려고 노력 중이며 끊임없는 문제가있는 것 같습니다.
명령: 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/MakefileHTML ys_utils과 내가 가질 다른 모든 모듈 을 생성 해야 합니다 .
Autodoc can't find your modules, because they are not in sys.path.
You have to include the path to your modules in in the sys.path in your conf.py. Look at the top of your conf.py (just after the import of sys), there is a sys.path.insert() statement, which you can adapt.
By the way: you can use the Makefile created by Sphinx to create your documentation. Just call
make
to see the options.
If something went wrong before try:
make clean
before running make html.
It sounds like os.path.append() is working OK for folks, but if you follow the conf.py template, you would insert the module path to the front of sys.path using os.path.insert(0, ...), and just add an extra .
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
If you have setup your sphinx project to use separate build and source directories, that call should instead be:
sys.path.insert(0, os.path.abspath('../..'))
in conf.py
just add the path to your project folder.
sys.path.append('/home/workspace/myproj/myproj')
I think I did this the first time I tried to add a file to the toctree. I think it was because I left out the blank line between the :maxdepth line and the file name.
.. 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`
Above is my index.rst file. stuff.rst resides in the same directory as it.
I got this same error but it was caused by a completely different reason than explained in the other answers.
My .. automethod:: mymodule.func directive should actually have been:
.. automethod:: mymodule::func`
You can use Pweave and noweb formatting to generate rst documents that include the output of the code embedded in them. Basically, you write your rst file, with python code embedded in marked chunks like this:
<<echo=False>>=
print("some text that will appear in the rst file")
@
and Pweave will execute those chunks, and replace them with their output in a resulting rst file, which you can then use with sphinx. See the Pweave reST example for more details of how it looks.
참고URL : https://stackoverflow.com/questions/10324393/sphinx-build-fail-autodoc-cant-import-find-module
'developer tip' 카테고리의 다른 글
| 런타임에 Android에서 텍스트의 일부를 굵게 만드는 방법은 무엇입니까? (0) | 2020.10.11 |
|---|---|
| Jest에서 모의 데이트를 어떻게 설정하나요? (0) | 2020.10.11 |
| Cassandra cql 테이블에서 모든 행 삭제 (0) | 2020.10.10 |
| "Class"변수를 instanceof로 전달할 수없는 이유는 무엇입니까? (0) | 2020.10.10 |
| "단순히 C / C ++로 프로그래밍하는 것을 선호"하기 때문에 Android 앱을 C / C ++로 작성하면 안되는 이유는 무엇입니까? (0) | 2020.10.10 |