Maj*_*les 15 python python-sphinx
我正在尝试使用sphinx并成功生成html文件来记录python包.我正在记录的包由一组文件组成*.py,大多数包含一个类,其中几个文件是定义了函数的真正模块.我不需要暴露每个类都在一个模块中的事实,所以我from在__init__.py文件中添加了合适的语句,例如
from base import Base
Run Code Online (Sandbox Code Playgroud)
这样用户就可以使用该import pkg命令,然后不必指定包含该类的模块:
import pkg
class MyBase(pkg.Base): # instead of pkg.base.Base ...
...
Run Code Online (Sandbox Code Playgroud)
问题在于,斯芬克斯坚持将课程记录为pkg.base.Base.我试图设置add_module_names = False在conf.py.然而,这导致狮身人面像显示出简单的类Base而不是pkg.Base.此外,这也破坏了作为模块的几个*.py文件的文档.
我如何sphinx将课程作为一个班级pkg.Base?如何add_module_names为每个*.py文件选择性地设置指令?
这是一种完成OP要求的方法:
添加__all__列表pkg/__init__.py:
from base import Base # Or use 'from base import *'
__all__ = ["Base"]
Run Code Online (Sandbox Code Playgroud)使用.. automodule:: pkg在.rst文件.
现在,Sphinx将输出显示类名称的文档,pkg.Base而不是pkg.base.Base.
小智 -4
简短的回答:你不应该。只需将 sphinx 指向您的代码目录即可。Sphinx 记录代码并显示模块层次结构。最终如何导入模块完全取决于开发人员,而不是文档工具的责任。
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |