python - 隐藏 Maya python 插件文件

标签 python plugins maya

我正在开发一个包含多个节点的 Maya 脚本插件。为了方便起见,我将每个节点分成一个单独的文件,如下所示

plug-ins
   |----- main_plugin.py
   |----- plugin_node_1.py
   |----- plugin_node_2.py

目前我已经设置了插件,因此您只需启用 main_plugin.py ,其他插件就会自动加载。这还可以,但不整洁,因为所有其他插件都在为插件管理器的困惑付出代价。

除了将所有插件文件合并到一个文件中之外,还有什么最好的方法来清理这一点。有没有办法从插件管理器中屏蔽某些插件?

最佳答案

我发现 main_plugin.py 文件只需要一个 initializePlugin(obj) 和一个 uninitializePlugin(obj) 函数定义。然后,您可以从 python 路径中的任何位置调用 import 并初始化任何其他插件文件,如下所示:

def initializePlugin(obj):
    try:
        import plugin_node_1
        plugin_node_1.initializePlugin(obj)

        import plugin_node_2
        plugin_node_2.initializePlugin(obj)


    except: 
        print 'Failed to register plug-in'

    ms_menu.createMenu()
    ms_menu.buildMenu()


def uninitializePlugin(obj):
    try:
        import plugin_node_1
        plugin_node_1.uninitializePlugin(obj)

        import plugin_node_2
        plugin_node_2.uninitializePlugin(obj)


    except: 
        print 'Failed to deregister plug-in'

    ms_menu.deleteMenu()

关于python - 隐藏 Maya python 插件文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529463/

相关文章:

python - __cause__ 和 __context__ 有什么区别?

python - 无法解决 "inc() takes 1 positional argument but 2 were given"

go - 在 golang 中执行进程内动态插件的一种方法

python - 使用 Python 在 Maya 中选择除具有特定名称的对象之外的所有对象

python - virtualenv 与gunicorn 无法正常工作

python - 如何在python 2.6中打印unicode中文字符串?

javascript - Javascript插件读取条形码

visual-studio-2010 - 适用于 Visual Studio 2010 的 Rockscroll 或 Metalscroll(小 map )

python - Maya python,搞定光型?

python - Maya MEL/Python 保存数据