【发布时间】:2019-09-15 13:24:12
【问题描述】:
编辑:Python 3.7.4、Windows 10
Edit2:我找到了错误的原因。输出:
Traceback (most recent call last):
File "myMain.py", line 2, in <module>
File "c:\users\faruk\appdata\local\programs\python\python37\lib\site-
packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\PyQt5\__init__.py", line 41, in <module>
File "site-packages\PyQt5\__init__.py", line 33, in find_qt
ImportError: unable to find Qt5Core.dll on PATH
[13936] Failed to execute script myMain
这里是解决方案:https://stackoverflow.com/a/56962128/9377945
我正在尝试使用 pyinstaller 将我的 py 文件转换为 exe。
我的示例代码在这里:
import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QLabel, QGridLayout, QWidget
from PyQt5.QtCore import QSize
class HelloWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setMinimumSize(QSize(640, 480))
self.setWindowTitle("Hello world")
centralWidget = QWidget(self)
self.setCentralWidget(centralWidget)
gridLayout = QGridLayout(self)
centralWidget.setLayout(gridLayout)
title = QLabel("Hello World", self)
title.setAlignment(QtCore.Qt.AlignCenter)
gridLayout.addWidget(title, 0, 0)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
mainWin = HelloWindow()
mainWin.show()
sys.exit( app.exec_() )
我使用此代码进行转换:
pyinstaller main.py --noconsole
当我尝试运行 exe 文件时,出现“无法执行脚本主程序”错误。
【问题讨论】:
-
试试这个:
pyinstaller -c -F main.py报告结果。 -
我试过 cmd 打开和关闭。我添加了额外的一个参数 -w 并得到了同样的错误。
-
尝试更改模块名称,例如更改为
myMain.py,然后再次运行pyinstaller -c -F myMain.py。报告结果。 -
@ImCoder 你用的是什么版本的 PyQt5 和 PyInstaller?
-
pyinstaller 3.5版
标签: python pyqt5 pyinstaller