Update
This commit is contained in:
@@ -23,31 +23,32 @@ def LaunchStudioLibrary():
|
||||
# 获取 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 子目录放到 sys.path 最前面
|
||||
# 这样 import studiolibrary 会直接找到内层的,避免循环导入
|
||||
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
|
||||
# 临时保存并清理 sys.path,避免外层包干扰
|
||||
original_path = sys.path[:]
|
||||
sys.path.insert(0, studiolibrary_subdir)
|
||||
|
||||
# 添加其他必要的路径
|
||||
for subdir in ['studiolibrarymaya', 'mutils', 'studioqt', 'studiovendor']:
|
||||
subdir_path = os.path.join(current_dir, subdir)
|
||||
if subdir_path not in sys.path:
|
||||
sys.path.insert(0, subdir_path)
|
||||
|
||||
# 导入 Studio Library(现在会找到内层的)
|
||||
import studiolibrary
|
||||
|
||||
# 打印版本信息
|
||||
print(f"Studio Library version: {studiolibrary.version()}")
|
||||
print("Studio Library version: " + str(studiolibrary.version()))
|
||||
|
||||
# 检测 Maya 环境
|
||||
if studiolibrary.isMaya():
|
||||
try:
|
||||
import maya.cmds
|
||||
maya.cmds.about(batch=True)
|
||||
print("Studio Library: Running in Maya environment")
|
||||
else:
|
||||
except (ImportError, AttributeError):
|
||||
print("Studio Library: Running in standalone mode")
|
||||
|
||||
# 启动主窗口
|
||||
@@ -58,16 +59,16 @@ def LaunchStudioLibrary():
|
||||
return window
|
||||
|
||||
except Exception as e:
|
||||
print(f"Failed to launch Studio Library: {e}")
|
||||
print("Failed to launch Studio Library: " + str(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:")
|
||||
print("Current directory: " + os.path.dirname(os.path.abspath(__file__)))
|
||||
print("sys.path entries:")
|
||||
for i, path in enumerate(sys.path[:10]):
|
||||
print(f" [{i}] {path}")
|
||||
print(" [" + str(i) + "] " + path)
|
||||
print("=========================\n")
|
||||
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user