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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章