假设 my_module
具有以下 __init__.py
:
from my_module.misc import f2
def f1(p1,p2):
"""
My f1 function.
:param p1: First parameter.
:param p2: Second parameter.
:return: Returned value.
"""
return p1 + p2
其中 misc.py
包含以下函数:
def f2(p1,p2):
"""
My f2 function.
:param p1: First parameter.
:param p2: Second parameter.
:return: Returned value.
"""
return p1 - p2
我正在使用 sphinx 通过以下方法记录 my_module
,并且 f2
没有出现在结果中,有没有办法指定它应该包含在内?
my_module
---------
.. automodule:: my_module
:members:
:undoc-members:
最佳答案
如果您在 __init__.py 中添加 __all__
列表,它就会起作用。
from my_module.misc import f2
__all__ = ["f1", "f2"]
def f1(p1,p2):
"""
My f1 function.
:param p1: First parameter.
:param p2: Second parameter.
:return: Returned value.
"""
return p1 + p2
来自 Sphinx documentation :
For modules,
__all__
will be respected when looking for members unless you give theignore-module-all
flag option. Withoutignore-module-all
, the order of the members will also be the order in__all__
.
关于python - 在 sphinx 文档中包含特定的导入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50585305/