我在过去的两年里没有使用过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, in dispatch_visit
return method(node)
File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/markup/restructuredtext.py", line 307, in visit_paragraph
m = self._SUMMARY_RE.match(child.data)
AttributeError: 'Text' object has no attribute 'data'
epydoc项目已经死了吗?
答案 0 :(得分:8)
我在epydoc跟踪器上找到了一个补丁,它已经过时了,无论如何这部分解决了这个问题:
markup/restructuredtext.py
307c307,310
< m = self._SUMMARY_RE.match(child.data)
---
> try:
> m = self._SUMMARY_RE.match(child.data)
> except AttributeError:
> m = None
答案 1 :(得分:6)
Epydoc已经很长时间没有维护,最后一个版本与当前的Pyton和docutils不太兼容。但它仍然是一个有用的工具,但需要一些补丁。
以下是我与Epydoc一起使用的一些补丁,用于为我的Python 2.7代码构建文档:http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/epydoc/(它们是PLD-Linux Epydoc软件包的一部分)。
我希望有人接管代码并继续开发......
答案 2 :(得分:0)
可以针对null(即None)测试对象,以便无法发生异常。
if object is None: