2016-03-28 2 views
0

のドキュメントストリングをスフィンクスのドキュメントに含める必要があります。sphinx autodoc-skip-memberハンドラー:napoleonを使用しているときに__init __()を表示できません

autodoc-skip-memberのハンドラを追加するために私はthe accepted answer to this stackoverflow questionをフォローしていましたが、まだ__init__()のドキュメントを見ることができませんでした。 if name == "__init__":ブロック内のトレースコードは、そのコードに当たっていることを示しています。勘で

私は

extensions = [ 
    'sphinx.ext.autodoc', 
    # 'sphinx.ext.napoleon', 
] 
を残して、私の extensions定義から 'sphinx.ext.napoleon'を削除してから、私は __init__()マニュアルを参照してくださいすることができます。

the napoleon documentationに記載されている唯一のものはnapoleon_include_special_with_docです(デフォルトはTrue)。明示的にTrueに設定すると、conf.pyには何も変更されていないようです。

ETA:

def __blah__(self): 
    '''blah blah blah''' 
    print self.__class__ 

は私が生成されたドキュメントで__blah__()を参照してください。私は次のメソッドを追加した場合。

  • 私は__repr__または__str__、 に__blah__の名前を変更した場合、私は生成されたドキュメントでそれらを参照してください。
  • 私が既存の__init__をコメントアウトして変更する場合 __blah__から__init__私はそれが表示されません。

したがって、__init__()に固有のようです。

これは既知の問題ですか?また、ナポレオンを使用する際にこれを制御する別の方法がありますか?

答えて

0

https://github.com/sphinx-doc/sphinx/issues/2374のRobのパーソンで、「autodoc-skip-member」イベントのハンドラも設定する拡張子を使用している場合は、ハンドラの1つだけが使用されます。これは手元にある問題のようです。おかげでロブ!

0

ナポレオンは、__init__メソッドをどのように扱うかについて、オートドック設定を行います。

オートドックの設定をconf.pyで確認してください。特に、autoclass_contentinitまたはbothのいずれかに設定されていることを確認してください。

+0

すばやく返信いただきありがとうございます。 私はautoclass_contentが違いではないと確信しています。 私がしようとしていたのは、クラスのドキュメントをクラスの下に置き、__repr __()や__str __()やその他のメソッドと同じように、__init __()をメソッドとして表示し、独自のドキュメントで表示することです。 autoclass_content = 'both'は、__init __()を別の関数として呼び出すことなく、__init __()ドキュメントをクラスのドキュメントに追加するだけです。 autoclass_content = 'init'は、__init __()ドキュメントをクラスドキュメント全体として使用し、__init __()を別の関数として省略しています。 – Scott

関連する問題