プロジェクトの文書化にsphinxを使用していますが、デコレータにラップされた関数に問題があります。同様の質問が寄せられているのを見たことがありますが、私の問題に合った解決策はないようです
パラメータを受け入れることができるカスタムデコレータにすべてラップされた何百もの関数があります
from functools import wraps
def CustomFunctionDecorator(id, name):
"""Custom decorator"""
def outer(f):
@wraps(f)
def inner(*args, **kwargs):
...do stuff....
f(*args, **kwargs)
return inner
return outer
私の関数は次のようになります
@CustomFunctionDecorator(123, 'Test')
def TestFunction(a, b, c=None):
"""Test Documentation"""
..do something....
sphinx と autodoc を使用してドキュメントを生成すると、CustomFunctionDecorator にラップされたすべての関数が sphinx ドキュメントの関数の実際の引数を隠し、このように表示されます。
TestFunction(*args, **kwargs)
テスト ドキュメント
ドキュメントは機能しますが、関数のパラメーターは機能しません....
何か案は?私が自分自身を明確にしたことを願っています