You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya standalone初始化触发Qt错误致mayapy崩溃求助

Maya Standalone初始化时Qt错误导致mayapy退出的解决方法

问题场景

在Windows11 + Maya2023.0环境下,通过mayapy交互环境初始化maya.standalone时触发Qt相关错误,进程直接终止,无法执行后续代码。

操作步骤

  • 打开命令提示符/PowerShell,执行mayapy进入交互环境
  • 运行以下代码:
import maya.standalone as standalone
standalone.initialize(name='python')

触发的错误信息

Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
qt.svg: Cannot open file ':/expression.svg', because: No such file or directory
qt.svg: Cannot open file ':/expression.svg', because: No such file or directory
QWidget: Cannot create a QWidget without QApplication

解决方案

1. 提前初始化Qt环境

问题根源是Maya standalone初始化时,部分插件尝试创建Qt控件但QApplication尚未初始化。可在调用standalone.initialize()前手动完成Qt环境配置:

import sys
from PySide2.QtWidgets import QApplication
from PySide2.QtCore import Qt

# 设置OpenGL共享上下文属性
QApplication.setAttribute(Qt.AA_ShareOpenGLContexts)
# 初始化QApplication
app = QApplication(sys.argv)

import maya.standalone as standalone
standalone.initialize(name='python')

此方法能避免Qt控件创建时的上下文缺失错误,保留Maya的UI相关插件功能。

2. 禁用不必要的Qt插件(纯后台场景)

如果仅需要后台批处理,不需要任何UI功能,可在启动mayapy前通过环境变量禁用Qt WebEngine和SVG插件:
在命令提示符/PowerShell中执行:

set QT_QPA_PLATFORM=offscreen
set QT_DISABLE_PLUGINS=webenginecore,svg

再启动mayapy执行初始化代码,能彻底规避Qt相关的插件加载错误。

3. 修复Maya安装完整性

:/expression.svg文件缺失可能是Maya安装损坏导致,可通过修复安装解决:

  • 打开Windows设置 → 应用 → 找到Autodesk Maya 2023 → 点击「修改」→ 选择「修复」选项,等待修复完成后重新测试。

验证方法

执行修正后的代码后,若mayapy未退出,可运行以下测试代码确认环境正常:

import maya.cmds as cmds
cmds.polyCube()
print(cmds.ls())

若输出包含创建的立方体名称(如pCube1),说明standalone环境初始化成功。

内容的提问来源于stack exchange,提问作者Lily

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:17:13