【发布时间】:2020-05-06 09:56:09
【问题描述】:
我创建了一个程序来从驱动器上的文件中读取某些数据,在 PyQt5 ui 上显示结果并接受用户的更正。
当作为 python 文件运行时,该程序运行良好。但是,当我使用 PyInstaller 将其转换为独立的 exe 时,它可以正常工作,直到需要启动 pyqt5 gui。此时,它停止抛出以下错误:
qt.qpa.plugin: 无法在“”中加载 Qt 平台插件“windows”,即使它已找到。此应用程序无法启动,因为无法初始化 Qt 平台插件。重新安装应用程序可能会解决此问题。可用的平台插件有:minimal、offscreen、windows。
我已阅读 this、this 和 this,但它们并没有解决我的问题。
gui的代码很大,但结构如下:
from PyQt5 import uic, QtWidgets
import sys
import os
#baseUIClass, baseUIWidget = uic.loadUiType('gui.ui')
baseUIClass, baseUIWidget = uic.loadUiType(r'C:\mypath\gui.ui')
class Ui(baseUIClass, baseUIWidget ):
def __init__(self, *args, **kwargs):
baseUIWidget.__init__(self, *args, **kwargs)
self.setupUi(self)
# More code to perform the desired actions
def run(input_variables):
app = QtWidgets.QApplication(sys.argv)
ui = Ui()
ui.show()
# More code to make the Ui perform desired actions
app.exec_()
return(output_variables)
代码已转换为带有以下参数的独立 exe:
pyinstaller --hiddenimport <hidden import> --onefile <python filename>
请问您知道如何解决这个问题吗?
谢谢
【问题讨论】:
-
使用dependencywalker检查是否缺少任何dll。
标签: python python-3.x pyqt pyqt5 pyinstaller