Compile python en un archivo binario pyc para facilitar la distribución de scripts y evitar que la gente común lo modifique a su antojo. Aquí, use el propio Python de Maya para compilar y evitar que no se ejecute normalmente.
Listo
Divida el script en dos archivos, uno es el archivo Core y el otro son los archivos relacionados con la inicialización del script
Motivo: si compila directamente el archivo de origen en un archivo pyc, Maya no podrá reconocerlo, lo que indica que no hay ningún complemento y otros mensajes de error.
Archivo de inicialización de secuencia de comandos
from Core import *
class MyPlugin(OpenMaya.MPxCommand):
def __init__(self):
super(MyPlugin, self).__init__()
def doIt(self, args):
print(u'doIt')
#code
#UI.show()
### plugin initialization
def cmdCreator():
''' Creates an instance of the scripted command. '''
return MyPlugin()
def initializePlugin(mobject):
''' Initializes the plug-in.'''
mplugin = OpenMaya.MFnPlugin(mobject)
try:
mplugin.registerCommand(kPluginCmdName, cmdCreator)
except:
sys.stderr.write("Failed to register command: %s\n" % kPluginCmdName)
def uninitializePlugin(mobject):
''' Uninitializes the plug-in '''
mplugin = OpenMaya.MFnPlugin(mobject)
try:
mplugin.deregisterCommand(kPluginCmdName)
except:
sys.stderr.write("Failed to unregister command: %s\n" % kPluginCmdName)
pass
pass
Archivo principal
Este archivo es nuestro código
Compilar archivo
Llame a C: \ Archivos de programa \ Autodesk \ Maya2019 \ bin \ mayapy.exe para ejecutar el siguiente archivo
import py_compile
py_compile.compile("Core.py")
Por fin
Genere el archivo Core.pyc después de la compilación, copie y distribuya el archivo Core.pyc y el archivo de secuencia de comandos de inicialización juntos, y llame directamente al archivo de secuencia de comandos de inicialización cuando se llame a la secuencia de comandos, y se puede utilizar normalmente