不是。 import Maya
會給你所有人,儘管大多數人開始一個級別,例如,import maya.cmds as cmds
還有幾個你在列表中錯過了:OpenMaya
,舊的api,有兄弟姐妹OpenMayaRender
,OpenMayaUI
和OpenMayaAnimation
也有maya.util
你可以列出的頂級瑪雅模塊完整名單如下:
import maya
import inspect
maya_modules = {name:mod for name, mod in inspect.getmembers(maya) if inspect.ismodule(mod) }
在Maya 2016完整列表是:
'OpenMaya': <module 'maya.OpenMaya' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMaya.pyc'>,
'OpenMayaAnim': <module 'maya.OpenMayaAnim' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaAnim.pyc'>,
'OpenMayaFX': <module 'maya.OpenMayaFX' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaFX.pyc'>,
'OpenMayaMPx': <module 'maya.OpenMayaMPx' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaMPx.pyc'>,
'OpenMayaRender': <module 'maya.OpenMayaRender' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaRender.pyc'>,
'OpenMayaUI': <module 'maya.OpenMayaUI' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\OpenMayaUI.pyc'>,
'app': <module 'maya.app' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\app\__init__.py'>,
'cmds': <module 'maya.cmds' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\cmds\__init__.py'>,
'debug': <module 'maya.debug' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\debug\__init__.py'>,
'mel': <module 'maya.mel' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\mel\__init__.py'>,
'standalone': <module 'maya.standalone' (built-in)>,
'utils': <module 'maya.utils' from 'c:\program files\autodesk\maya2016\Python\lib\site-packages\maya\utils.py'>
當然,使你自己的模塊導入這些模塊的子集是微不足道的。
也許一個更好的問題是,你如何區分'maya' Python庫和Maya應用程序? (例如在對話中) – d3vid
我認爲大多數人很少談論瑪雅人的命名空間:如果你谷歌周圍你會發現大約85%的一切都是'cmds'(衆所周知),其餘大部分是'OpenMaya'或'maya.api.XXX'的'api2' – theodox