web-dev-qa-db-ja.com

Sphinx、自動モジュールを使用してサブモジュールを検索

Sphinxの自動モジュールを使用する場合( https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html )、

私は単に.rstファイルに書き込みます:

.. automodule:: my_module
    :members:

My_moduleは正常に文書化されていますが、my_module.inner_module0やmy_module.inner_module1などの内部モジュールは見つかりません。 __all__変数以外に__init__。pyファイルで指定する必要があるものはありますか?

また、私はsphinx-apidocを知っています。しかし、そのコマンドは文書化が多すぎます(文書化されていないものを含むすべての関数/フォルダーを公開します)。

28

automoduleディレクティブにパッケージ名を付けて、ディレクトリに再帰的に入れ、各Pythonモジュールを文書化する必要があるようです。これはまだサポートされていません。完全な-を指定する必要があります。 点線のモジュール名文書化するモジュールごとに。

たとえば、次のディレクトリ構造があるとします(Pythonドキュメントから)。.. automodule:: sound.formatsを指定して、ディレクトリ内のすべてのモジュールをドキュメント化することはできません。automoduleを指定する必要があります。各モジュールのコマンド:.. automodule:: sound.formats.waveread.. automodule:: sound.formats.wavewriteなど。

sound/                          Top-level package
      __init__.py               Initialize the sound package
      formats/                  Subpackage for file format conversions
              __init__.py
              wavread.py
              wavwrite.py
              aiffread.py
              aiffwrite.py
              auread.py
              auwrite.py
              ...
      effects/                  Subpackage for sound effects
              __init__.py
              echo.py
              surround.py
              reverse.py
              ...
30
devin_s

:imported-members:がこれらのサブモジュールをインポートすれば、 __init__.pyオプションを使用 (非直接リンク、検索を使用)が可能になるはずです。

しかし、私は個人的にこの作品を作ることができません(まだ)。

編集:おそらく 既知のバグ

2
Noel Maersk