2011-07-15 24 views
6

我在过去的2年中没有使用过epydoc,但是我发现它非常方便地用一点点努力来跟踪我的类和方法。epydoc AttributeError:'文本'对象没有'数据'属性

今天我安装了最新版本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

(当你可以的时候)你应该发表这个答案并接受它 - 为了后代! – katrielalex

+0

我知道,但它不会让我添加一个答案,直到一定的小时数,并且我经常忘记它,对于后代,我会以这种方式留下一些东西...... :)我希望记住未来的几天添加答案一个真实的答案。 – neurino

+0

我错了......我可以回答但不接受,谢谢你的提示 – neurino

回答

6

epydoc的尚未保持很长一段时间,最后释放并不符合当前的Pyton和docutils的相当兼容。但它仍然是一个有用的工具,但需要一些补丁。

下面是一些我使用Epydoc为我的Python 2.7代码构建文档的补丁:http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/epydoc/(它们是PLD-Linux Epydoc包的一部分)。

我希望有人接管的代码,并不断的发展......

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 
+0

是的,这些改变修复了它。我不得不手动进行更改。 – user819893

0

对象可以对抗让不能发生异常空(即无)进行测试。

if object is None: 
相关问题