Sphinxを使用してコードベースの基本的なドキュメントを自動生成しようとしています。ただし、ファイルを再帰的にスキャンするようにSphinxに指示するのが困難です。
次のようなフォルダ構造を持つPythonコードベースがあります。
<workspace>
└── src
└── mypackage
├── __init__.py
│
├── subpackageA
│ ├── __init__.py
│ ├── submoduleA1
│ └── submoduleA2
│
└── subpackageB
├── __init__.py
├── submoduleB1
└── submoduleB2
でsphinx-quickstartを実行した<workspace>
ので、構造は次のようになります。
<workspace>
├── src
│ └── mypackage
│ ├── __init__.py
│ │
│ ├── subpackageA
│ │ ├── __init__.py
│ │ ├── submoduleA1
│ │ └── submoduleA2
│ │
│ └── subpackageB
│ ├── __init__.py
│ ├── submoduleB1
│ └── ubmoduleB2
│
├── index.rst
├── _build
├── _static
└── _templates
クイックスタートチュートリアルを読みましたが、まだドキュメントを理解しようとしていますが、その言い回しでは、コードベース内のすべてのモジュール/クラス/関数のドキュメントファイルを手動で作成することをSphinxが想定しているのではないかと心配しています。 。
ただし、「automodule」ステートメントに気づき、クイックスタート中にautodocを有効にしたので、ほとんどのドキュメントが自動的に生成されることを期待しています。conf.pyを変更してsrcフォルダーをsys.pathに追加してから、index.rstを変更してautomoduleを使用しました。これで、私のindex.rstは次のようになります。
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. automodule:: alphabuyer
:members:
サブパッケージで定義されたクラスと関数は数十あります。しかし、私が実行すると:
sphinx-build -b html . ./_build
それは報告します:
updating environment: 1 added, 0 changed, 0 removed
そして、これは私のパッケージ内に何かをインポートできなかったようです。生成されたindex.htmlを表示すると、「Contents:」の横に何も表示されません。インデックスページには「mypackage(モジュール)」のみが表示されますが、クリックすると内容が表示されません。
すべてのクラスを自分で手動でリストすることなく、パッケージを再帰的に解析し、検出したすべてのクラス/メソッド/関数のドキュメントを自動的に生成するようにSphinxに指示するにはどうすればよいですか?