私はスフィンクスを始めようとしていますが、容赦ない問題を抱えているようです。
コマンド: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を使用してこれを処理できるようにしたいと思います。現在のところ、プロジェクトには2つのフォルダーがあります。
nextgen/ls
docs ys_utils
nextgen/docs/Makefile
および他のすべてのモジュールのHTMLを生成するには、ys_utils
が必要です。
Autodocは_sys.path
_にないため、モジュールを見つけることができません。
_sys.path
_の_conf.py
_にモジュールへのパスを含める必要があります。 _conf.py
_の上部(sys
のインポート直後)を見ると、sys.path.insert()
ステートメントがあり、これを調整できます。
ちなみに、Sphinxが作成したMakefile
を使用してドキュメントを作成できます。電話するだけ
_make
_
オプションを表示します。
試す前に何かがうまくいかなかった場合:
_make clean
_
_make html
_を実行する前。
conf.py
プロジェクトフォルダーにパスを追加するだけです。
sys.path.append('/home/workspace/myproj/myproj')
os.path.append()
は正常に機能しているように見えますが、conf.py
テンプレートに従う場合は、os.path.insert(0, ...)
を使用してsys.path
の前にモジュールパスを挿入します。さらに.
を追加します
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
sphinx
プロジェクトを個別のbuild
およびsource
ディレクトリを使用するように設定している場合、その呼び出しは次のようになります。
sys.path.insert(0, os.path.abspath('../..'))
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ファイルの出力に置き換えます。これは、sphinxで使用できます。外観の詳細については、 Pweave reSTの例 を参照してください。