Pregunta

Estoy intentando configurar el IDE Eclipse para reconocer la Módulo maya.cmds, una todos los módulos asociados con el módulo maya. El siguiente código son pruebas se ejecutan en Eclipse, y el editor de scripts de 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

editor de guión de Maya En los resultados de código en

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>

En Eclipse en los resultados de código

maya:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']

cmds:
6

sphere: 
Traceback (most recent call last):
AttributeError: 'module' object has no attribute 'sphere'

He hecho un montón de búsqueda, en el grupo de Google "maya pitón dentro", y búsquedas en la web. El mejor que he encontrado he era el siguiente enlace, sin embargo esto no resolvió mi problema en absoluto, y al final dio el mismo resultado. http://www.luma-pictures.com/tools/pymel /docs/1.0/eclipse.html

He leído que debería ser la creación de mis caminos de entorno en Eclipse, en lugar de mi máquina, y también he leído la opinión opuesta. Lo entorno vars debería establecer, a dónde, y en Eclipse, Windows, o ambos?

¿Fue útil?

Solución

La solución es importar maya.standalone e inicializarlo. Esto le da acceso a los paquetes y módulos maya en el mismo.

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

salida:

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>

Otros consejos

Si lo desea, puede configurar Eclipse para ejecutar (depuración) Maya directamente sobre ella (usando autónomo, por supuesto).

Si vas en intérpretes de Python se puede añadir un intérprete mayapy. Prensa new, escribir el nuevo que desea: D, ejecutable intérprete será su ruta) ..\bin\mayapi.exe maya (Por ejemplo: D:\Program Files\Autodesk\Maya2013\bin\mayapi.exe)

Incluir todos los los módulos que cree que necesita, y hecho. Ahora puede utilizar maya intérprete Eclipse dentro, esto significa que con maya independiente, puede ejecutar la secuencia de comandos, así (me gusta usar de esta manera si tengo que hacer una tarea recursiva o similares;)).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top