#!/usr/bin/env python # -*- coding: utf-8 -*- """ Studio Library Launcher 用于从工具架快速启动 Studio Library 支持所有 Maya 版本(2017-2026+) """ import sys import os def LaunchStudioLibrary(): """ 启动 Studio Library 主界面 自动检测 Maya 版本和 Qt 绑定 Returns: LibraryWindow: Studio Library 窗口实例,失败时返回 None """ try: # 获取 Studio Library 路径 current_dir = os.path.dirname(os.path.abspath(__file__)) # 确保路径在 sys.path 中 if current_dir not in sys.path: sys.path.insert(0, current_dir) # 确保子模块路径也在 sys.path 中 studiolibrary_subdir = os.path.join(current_dir, 'studiolibrary') if studiolibrary_subdir not in sys.path: sys.path.insert(0, studiolibrary_subdir) # 导入 Studio Library try: # 方式1:直接从外层包导入 import studiolibrary except ImportError: # 方式2:从子目录导入 sys.path.insert(0, studiolibrary_subdir) import studiolibrary # 打印版本信息 print(f"Studio Library version: {studiolibrary.version()}") # 检测 Maya 环境 if studiolibrary.isMaya(): print("Studio Library: Running in Maya environment") else: print("Studio Library: Running in standalone mode") # 启动主窗口 window = studiolibrary.main() print("Studio Library launched successfully") return window except Exception as e: print(f"Failed to launch Studio Library: {e}") import traceback traceback.print_exc() # 提供详细的调试信息 print("\n=== Debug Information ===") print(f"Current directory: {os.path.dirname(os.path.abspath(__file__))}") print(f"sys.path entries:") for i, path in enumerate(sys.path[:10]): print(f" [{i}] {path}") print("=========================\n") return None if __name__ == "__main__": LaunchStudioLibrary()