似乎有太多的Python文档工具.我碰到的另一个是epydoc.似乎Sphinx是事实上的标准,因为它用于生成官方Python文档.有人可以帮我理清Python文档工具的当前状态吗?
我有一个项目,我使用epydoc记录.现在我正在尝试切换到狮身人面像.我为epydocs格式化了所有文档字符串,使用B {},L {}等进行粗体,链接等,并使用@ param,@ return,@ raise等来解释输入,输出,异常等.
所以现在我转向sphinx它失去了所有这些功能.有没有一种自动方式将为epydocs格式化的文档字符串转换为为sphinx格式化的文档字符串?
我在过去的两年里没有使用过epydoc,但我发现用很少的努力来跟踪我的课程和方法非常方便.
今天我安装了最新版本,3.0.1但是我收到了这个错误并且四处搜索似乎没有提供解决方案.
Traceback (most recent call last):-] Parsing docstrings: pyramid.reques...
File "/home/neurino/apps/env/bin/epydoc", line 13, in <module>
cli()
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/cli.py", line 965, in cli
main(options, names)
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/cli.py", line 757, in main
exclude_parse=exclude_parse)
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/docbuilder.py", line 275, in build_doc_index
parse_docstring(val_doc, docindex, suppress_warnings)
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/docstringparser.py", line 265, in parse_docstring
api_doc.summary, api_doc.other_docs = api_doc.descr.summary()
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/markup/restructuredtext.py", line 179, in summary
try: self._document.walk(visitor)
File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 137, in walk
if child.walk(visitor):
File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 129, in walk
visitor.dispatch_visit(self)
File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 1604, …Run Code Online (Sandbox Code Playgroud) 我使用reStructuredText来记录我的代码,以便通过epydoc获得不错的离线HTML页面.
结果很棒.唯一的缺点是当我使用Python交互式shell时,help()函数不解析文档字符串中的reST元数据,而是显示整个事物.
有没有办法让help()对文档字符串进行一些最小的解析?
我不希望渲染斜体字体或超链接,但至少进行一些最小的清理以提高可读性.
我正在尝试使用 pdoc 生成文档,其中我的文档字符串如下所示:
"""
I am a description of what a method does
:param param1: an integer
:param param2: a str
"""
Run Code Online (Sandbox Code Playgroud)
我发现了这个问题:如何在使用 sphinx 生成 python 文档时保留换行符,但建议在每一行前加上 | 对我不起作用(它只是像这样出现)
| :param param1: an integer | :param param2: a str
Run Code Online (Sandbox Code Playgroud)
除了在每一行的末尾使用 \n 之外,还有什么想法吗?
我的班上有一些方法,只能供该班的其他方法使用。我已经给他们的名字加上了“ _”。我可以对epydoc隐藏这些功能吗?这是个好主意吗?
我应该使用“ _”还是双下划线?老实说,在某些地方阅读了它们之后,我没有发现任何不同。是否应仅在模块/类(实例)函数上使用此命名约定?还是变量?