我一直在用PyQt为Maya制作工具。因此,它必须执行 Maya Command 。这意味着程序导入Maya Libraries。当我在IDLE(我使用Eclipse)上测试我的程序时,它让我烦恼。我想在IDLE上阻止 Maya Command ,并在Maya上启用。有没有办法找出它在Maya或IDLE上运行?
答案 0 :(得分:2)
我所做的只是将import
封装在try..except
块中:
try:
from maya import cmds
except ImportError:
print 'Not Maya'
我的期望是Maya之外的代码有价值,但不适用于需要Maya API的函数。
答案 1 :(得分:1)
mhlester答案中的导入检查不适用于所有可能的设置 - 如果您在Eclipse中使用MayaPy.exe解释器,导入maya.cmds将为您提供一个空模块而不是引发导入错误(空模块获取如果启动maya.standalone则替换,否则它们仍然存在并且不会触发ImportError)
您可以通过查找模块中的实际命令来捕获它:
try:
import maya.cmds as cmds
cmds.about()
except AttributeError:
print "not Maya" # cmds.about doesn't exist
except ImportError:
print "not Maya" # Maya modules not on the path