Maya的python模块的Eclipse环境

时间:2011-01-30 04:41:17

标签: python eclipse environment maya

我正在尝试设置Eclipse IDE以识别 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'

我已经在google群组“maya内部的python”和网络搜索中进行了大量搜索。我发现的最好的是以下链接,但这根本没有解决我的问题,最终给出了相同的结果。 http://www.luma-pictures.com/tools/pymel/docs/1.0/eclipse.html

我读过我应该在Eclipse中设置我的环境路径,而不是我的机器,我也读过相反的意见。我应该在Eclipse,Windows或两者中设置哪些环境变量?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

如果你想要,可以直接在它上面设置eclipse运行(调试)maya(当然,使用独立)。

如果你进入python解释器,你可以添加一个mayapy解释器。 按new,写下您想要的新内容:D, 解释器可执行文件将是你的maya路径)..\bin\mayapi.exe (例如:D:\Program Files\Autodesk\Maya2013\bin\mayapi.exe

包括您认为需要的所有模块,并完成。 现在你可以在eclipse中使用maya解释器,这意味着使用maya standalone,你也可以运行你的脚本(如果我需要做类似的递归任务,我喜欢用这种方式;))。