在PyQt5中调用Plotly运行时出现DXVAVDA相关DLL缺失错误如何解决?
问题原因
你遇到的报错是Windows平台下QtWebEngine组件调用DXVA硬件视频解码功能时,缺失系统媒体相关动态链接库导致的,属于系统环境依赖缺失问题,和你使用的Plotly+PyQt5业务代码无关。
解决方案
- 方案1:修改代码禁用GPU硬件加速(最推荐,无需改动系统,代码修改量极小)
在初始化QApplication之前添加属性配置即可,修改后的入口代码如下:
if __name__ == "__main__": # 新增如下两行配置 QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_UseSoftwareOpenGL) QtWebEngineWidgets.QWebEngineSettings.globalSettings().setAttribute(QtWebEngineWidgets.QWebEngineSettings.Accelerated2dCanvasEnabled, False) app = QtWidgets.QApplication([]) widget = Widget() widget.show() app.exec()
修改后重新运行即可消除报错,不会影响Plotly图表的正常渲染。
方案2:补全系统媒体功能依赖
如果你使用的是Windows N/KN版本(欧洲、韩国地区发行的默认移除媒体功能的系统版本),或者是第三方精简优化的Windows系统,可以进入系统「设置」-「应用」-「可选功能」-「添加功能」,搜索并安装「媒体功能包」,安装完成后重启系统即可解决。方案3:给Qt应用传入禁用GPU的启动参数
创建QApplication时传入启动参数也可实现同样效果,代码如下:
app = QtWidgets.QApplication(["--disable-gpu"])
内容的提问来源于stack exchange,提问作者Victor Y.
相关产品推荐
相关产品推荐

