0

これは私のファイル階層です:

インフォレスキュー
|
|_ src
|
|_ _ _ には
|が含まれます。
|_ _ _ _ _ i1.py
|_ _ _ _ _ i2.py
| _ _ _ _ _ init.py
|
|_ _ _ ユーティリティ
|
|_ _ _ _ _ u1.py
|_ _ _ _ _ u2.py
|_ _ _ _ _ init .py
|
|_ _ _ ドキュメント
|
|_ _ _ _ _ index.rst
|_ _ _ _ _ project.rst
|_ _ _ _ _ contact.rst |_
_ _ _ _ api
|
|_ _ _ _ _ _ api.rst
|_ _ _ _ _ _ includes.rst
|_ _ _ _ _ _ utils.rst

ドキュメントの生成には Sphinx を使用しています。sphinx に関連するものはすべてdocディレクトリにあります。

私のindex.rst:

.. InfoRescue documentation master file, created by
   sphinx-quickstart on Sun Sep 15 13:52:12 2013.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to InfoRescue's documentation!
======================================

Contents:
========

.. toctree::
   :maxdepth: 2

   project
   api/api
   contact

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

api.rst :

InfoRescue API
**********

.. toctree::
    :glob:
    :maxdepth: 1

    **

現在、utils 内には .py ファイルがあります。これらのファイルにはどちらもクラスと直接コードは含まれておらず、関数のみが含まれています。私が使用できる関数を文書化するには.. autofunction:: utils.u1.functionName. これは正しく機能していますが、関数ごとにこのように書く必要があります。すべての機能を単純に含める簡単な方法はありますか?

includesディレクトリ内の両方のファイルにクラスが含まれておらず、一部の(直接)コードのみが機能するとします。そのためのドキュメントを生成する方法、つまりどの自動ディレクティブを使用するか?

また、utils および includes ディレクトリ内のinit .py ファイルは両方とも空です。.rst ファイルからこれらのディレクトリ内のファイルにアクセスできるように、これら 2 つを作成しました。_ init _.py ファイルを作成する必要がないように、他のアプローチはありますか?

4

5 に答える 5

0

「__init__.py」ファイルが存在すると、ディレクトリが Pythonパッケージとしてマークされます。Sphinx ではその必要はありません。代わりに、「src/doc/conf.py」ファイルを編集し、「import sys, os」行の後に次のような行を追加して、ディレクトリの内容を Python パスに配置できます。

sys.path.insert(0, os.path.abspath(os.path.join('..', '..', 'utils')))
sys.path.insert(0, os.path.abspath(os.path.join('..', '..', 'includes')))

もちろん、"utils/__init__.py" と "includes/__init__.py" の両方に docstring を配置し、これらのパスを追加して Sphinx を使用して両方を文書化しようとすると、さらに多くの作業が必要になります。

于 2013-09-16T12:21:53.980 に答える
0

上記の@BarryPieの回答を改善し、sys.path.insertすべてのサブパッケージにすべてを追加する必要があるというこの問題があるため、次のコードを私のconf.py.

for root, dirs, files in os.walk('../../src'): # path to my source code
    if '__pycache__' not in root: #__pycache__ folder excluded
        sys.path.insert(0, os.path.abspath(root))

すべてのサブパッケージが要求どおりにインポートされます。

于 2015-05-23T13:02:43.160 に答える
0

autosummary はテーブルを生成します

.rst ファイルでautomoduleのようなものを使用したい場合があります。

.. automodule:: i1
   :members:
于 2013-09-16T12:33:29.770 に答える
0

(直接)コードの場合、ファイルの最初の docstring でそのドキュメントを提供する必要があります。

于 2013-09-16T12:10:14.283 に答える