0

恐怕这将是一个非常特殊的案例的问题。在大学里,我们被告知使用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 解释器?

4

1 回答 1

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'

但是,您至少可以记录您自己的东西,而不会让 Maya 部分崩溃。

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

于 2014-04-08T17:36:45.653 回答