-
Definir python scripts?
Hola. Es un problema de lo más tonto. Independientemente de que use Autodesk Maya, estoy en Python (versión 2.5) el problema que tengo es que no consigo que me reconozca los scripts si no los evalúo antes. Por ejemplo, digamos que tengo un scripts llamado Yeha, py en c:\micarpeta\yuhu.
Si evalúo el script y luego lo llamo, todo bien. Pero en cuanto cierro Python y lo vuelvo a abrir, el script ya no funciona lógicamente, tengo que evaluarlo de nuevo.
Imaginaba que es un problema de ruta, así que, he probado a añadir la ruta:
Código:
import Sys.
Sys, Path, append(c:\micarpeta\yuhu)
Pero aun así, con la ruta puesta, sigue sin funcionar el script si no lo evalúo. Así.
Que me tengo que estar confundiendo con algo que no tiene que ver con eso ¿no?
Guat du IU zink?
1 saludo.
-
Definir python scripts?
Vaya, siempre las mismas tonterías, la ruta se escribe con 2 barras, no una. En resumen, para quien le interese:los scripts de usuario se importan como módulos una vez puesta la ruta correcta, con 2 barras.
-
Definir python scripts?
Me alegro que lo solucionaras. Si estas en etapa de desarrollo recuerda hacer un reload(mimodulo) luego del import para obligarlo a recompilar y reflejar los cambios correctamente.
-
Definir python scripts?
Pues la verdad es que me está costando un poco cambiarme de Mel a Python, no por la propia programación en Python, sino por los rodeos que tengo que dar comunicando el editor con Maya, con Windows, que si importar módulos, scripts de startup, etc. Un poco lio en estos momentos. Espero que pase pronto.
En XSI lo tenéis todo preparado de entrada ¿no? No tenéis que importar módulos para ejecutar los comandos ni nada raro?
Vaya, por cierto, una cosa muy rara. No se puede abrir un Python haciendo doble click en el script o qué? Tengo que ir siempre al editor y abrir desde ahí con open file.
-
Definir python scripts?
En XSI también debes importar módulos para trabajar con las clases del SDK, es normal que así sea, el sólo hecho de que puedas programar orientado a objetos ya hace que merezca la pena sobre otros lenguajes de scripting, si lo vas a usar como una traducción de Mel (CMDS, comando ()) estas desperdiciando todo el potencial de Python, lo suyo es trabajar orientado a objetos (usando pymel o trabajando con la Api).
Lo de abrir con doble click me parece más un problema de asociación de archivos de Windows que otra cosa, yo uso un editor externo y asociar los.py al editor no es nada del otro mundo, supongo que, con tu editor será parecido.
Ánimo, ya verás que Python esta muy bien. Saludos.
-
Definir python scripts?
Gracias César. Pues ahora estoy con pymel a ver va está el tema. Si es que nos van a volver locos.
-
Definir python scripts?
No sé bien que es el pymel, realmente no se para que la gente lo usa, con Python en Maya puedes hacer bastantes cosas, usas objetos cuando realmente lo necesitas, cuando debes hacer cosas que el Maya por sí mismo no lo tiene, y sí, es realmente divertido hacerlo, pero como digo, cuando realmente lo necesitas.
Yo también al principio estuve peleando con la integración, ya que Mel es mucho más directo a cuando a código, pero luego te acostumbras a usar los comandos y te das cuenta que Python es muchísimo más rápido, menos código y con muchas más herramientas para trabajar.
Yo uso algún editor externo que tenga a mano, e importo todo o en unas botóneras tipo Layout o lo meto en el mugroso Shell.
No es necesario que metas toda la ruta de tu.py. Puedes poner tus scripts en la carpeta de scripts o bien cambiar ese Path y trabajar desde ahí usando el import, de esa forma puedes importar los módulos que únicamente necesites. Es muy común importar cosas todo el tiempo, en Houdini es lo mismo, muy divertido.
Import mypythonscript as mps.
Reload(mps).
Mps, mydef().
-
Definir python scripts?
Quizás estoy equivocado, no me extrañaría, pero a primera vista me parece que programar orientado a objetos (cosa que no permite Mel) no está asociado necesariamente a la problemática que debes abordar sino más bien a tu forma de enfrentar ese problema, no me entra el concepto de necesidad dentro de este esquema, probablemente en el 99.9% de los casos puedas resolver el problema de ambas formas, con la diferencia de que la orientada a objetos muy probablemente será más escalable en el tiempo y será más limpia.
-
Definir python scripts?
Yo también al principio tenía dudas sobre pymel, pero después de informarme bien en su web, realmente es un módulo mucho más potente que modulo de Autodesk Maya, CMDS(que solo te traduce los Mel). Tiene todos los comandos de Mel, y integra nuevas funciones.
Básicamente, como dice César, se trata de un módulo que te permite hacer una programación orientada a objetos y según los programadores de pymel, hace que el código tenga una sintaxis que se corresponder a la real de Python, porque con Maya, CMDS hay que reorganizar el código de una manera muy antipythonica dicen.
Te recomiendo que te pases a pymel Hori. Infórmate bien en la web y verás.