Maya Python模块的Eclipse环境
我正在尝试设置Eclipse这个开发工具,让它能够识别maya.cmds模块,以及所有与maya模块相关的模块。下面的代码是在Eclipse和Maya的脚本编辑器中运行的测试。
import maya
print 'maya:\n', dir(maya)
from maya import cmds
print 'cmds:\n', len(dir(cmds)) # too many to print
print 'sphere: ', cmds.sphere
在Maya的脚本编辑器中,这段代码的结果是
maya:
['OpenMaya', '_OpenMaya', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'app', 'cmds', 'mel', 'standalone', 'stringTable', 'utils']
cmds:
3190
sphere: <built-in method sphere of module object at 0x0000000019F0EEE8>
在Eclipse中,这段代码的结果是
maya:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
cmds:
6
sphere:
Traceback (most recent call last):
AttributeError: 'module' object has no attribute 'sphere'
我在“python inside maya”的谷歌小组和网上搜索了很多资料。我找到的最好链接是下面这个,但这并没有解决我的问题,最后的结果还是一样。 http://www.luma-pictures.com/tools/pymel/docs/1.0/eclipse.html
我看到有人说我应该在Eclipse中设置环境路径,而不是在我的电脑上,也有人持相反的观点。我应该设置哪些环境变量,设置在哪里,在Eclipse、Windows,还是两个地方都要设置?
2 个回答
2
如果你想的话,可以设置Eclipse来直接运行(调试)Maya(当然是使用独立版本)。
在Python解释器的设置里,你可以添加一个mayapy解释器。点击new
,然后输入你想要的新名称 :D,解释器的可执行文件路径就是你的Maya安装路径,像这样..\bin\mayapi.exe
(例如:D:\Program Files\Autodesk\Maya2013\bin\mayapi.exe
)。
把你认为需要的所有模块都包含进去,然后就完成了。现在你可以在Eclipse里使用Maya的解释器,这意味着你可以在Maya独立版里运行你的脚本(如果我需要做递归任务或者类似的事情,我喜欢用这种方式 ;))。
3
解决办法是导入maya.standalone并进行初始化。这样你就可以访问里面的maya包和模块了。
import maya.standalone
maya.standalone.initialize()
import maya
print 'maya:\n', dir(maya)
from maya import cmds
print 'cmds:\n', len(dir(cmds)) # too many to print
print 'sphere: ', cmds.sphere
输出结果:
maya:
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'__path__', 'app', 'cmds', 'mel', 'standalone', 'stringTable', 'test', 'utils']
cmds:
2945
sphere: <built-in method sphere of module object at 0xf33948>