Maya 2022执行脚本遇ImportError:无法从maya.cmds导入cmds
Maya脚本导入错误原因及修复
错误根源:导入语法完全错误
from maya.cmds import cmds是低级语法错误,和Python版本无关。maya.cmds本身是一个独立模块,不是包含cmds子成员的包,Maya的maya.cmds/__init__.py里也没有导出名为cmds的对象,所以执行这个导入语句必然触发ImportError。
替换导入后按钮失效的原因
你换成正确的import maya.cmds as cmds后UI能加载,但按钮功能失效,是因为原脚本的后续命令调用完全基于错误的导入逻辑:
- 原作者误以为
from maya.cmds import cmds会把cmds作为子模块导入,所以代码里大概率写了cmds.cmds.xxx()这种嵌套调用(比如cmds.cmds.polyCube()) - 而正确导入后
cmds直接对应maya.cmds模块,原代码的嵌套调用就变成了无效语法,自然无法执行命令。
验证:和Python版本无关
你自己写的用错误导入方式的脚本也无法运行,直接证明这不是Python3.7(Maya2022默认版本)的兼容问题——不管是Python2还是3,这种导入写法在Maya环境里都不成立,纯粹是脚本作者的写法错误。
快速修复步骤
- 全局替换原脚本中所有
from maya.cmds import cmds为import maya.cmds as cmds - 全局替换脚本中所有
cmds.cmds.为cmds.,修正命令调用路径
内容的提问来源于stack exchange,提问作者Dasteel
相关产品推荐
相关产品推荐

