使用pydoc和未知模块创建文档

时间:2014-04-08 00:06:24

标签: python documentation maya pydoc

我担心这会是一个非常特殊的问题。在大学,我们被告知使用 pydoc 生成文档。问题是我们需要为Maya脚本创建它,并且pydoc在找到import maya.cmds as cmds

时会大喊

所以,我试着评论这一行,但我一直收到错误:

python C:\Python27\Lib\pydoc.py Script.py    
problem in Script - <type 'exceptions.NameError'>: global name 'cmds' is not defined

我也尝试了Script,没有扩展名.py,但这样做很傻,我们仍然在同一个问题上运行。

有人知道如何为Maya脚本生成文档,其中import maya仅适用于maya解释器吗?

1 个答案:

答案 0 :(得分:1)

maya.commands是一个存根模块,直到它在一个工作的maya环境中运行;如果你只是导入它并在Maya之外检查它,你会发现它基本上是一个占位符。

如果要检查内容,可以导入maya.standalone模块并在运行其他命令之前对其进行初始化(在这种情况下,这意味着您将无法独立运行pydoc。

您可以使用write命令获取文档:

 import maya.standalone
 maya.standalone.initialize()
 import pydoc
 import mymodule
 pydoc.write(mymodule) # writes the mymodule.html to current directory

但是,请注意,所有maya内置函数的文档都是不合适的:

 'built-in function ls'
然而,你可以至少记录自己的东西,而不会让玛雅部件崩溃。

具有讽刺意味的是,Pydoc没有很多外部文档。但是你可以在这里看到代码:http://hg.python.org/cpython/file/2.7/Lib/pydoc.py(我不确定这个和2014年之前的maya的2.6版本之间的差异,但它在2011年的maya中如上所述)