Maya Python脚本编译成pyc二进制文件

将python编译成pyc二进制文件,方便脚本的分发,也可防止一般人随意修改,此处使用maya自带的python进行编译,防止不能正常运行

准备

将脚本分为两个文件,一个为Core文件,一个为脚本初始化相关文件

原因:如果直接将源文件编译成pyc文件,maya就无法识别,提示没有插件等错误信息

脚本初始化文件

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

Core文件

此文件中就是我们的代码

编译文件

调用C:\Program Files\Autodesk\Maya2019\bin\mayapy.exe运行如下文件

import py_compile

py_compile.compile("Core.py")

最后

编译后生成Core.pyc文件,把Core.pyc文件和初始化脚本文件一起复制分发,调用脚本的时候直接调用初始化脚本文件,就可以正常使用

https://blog.csdn.net/shaynerain/article/details/106426953

猜你喜欢

转载自blog.csdn.net/shaynerain/article/details/106426953