【问题标题】:Pyinstaller "Failed to script execute main" problem [duplicate]Pyinstaller“无法执行主要脚本”问题[重复]
【发布时间】: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


【解决方案1】:

删除 pyinstaller 和 PyQt5,然后使用 pip3

安装它们
pip3 install pyinstaller   
pip3 install PyQt5 

【讨论】:

【解决方案2】:

您安装了这些软件包吗?如果您使用 IDE 进行编码,您还必须在系统中安装软件包

【讨论】:

  • 我正在使用 Vscode、virtualenv 和我安装的包(仅 pyqt5)。代码在转换之前运行良好。
  • 你在用windows吗?您也必须在 Windows 系统中安装 pyqt5。 (命令提示符)
  • 我正在使用 Windows。 pyqt5 仅安装在 virtualenv 中。我会试试的
  • 没有任何改变。同样的错误。
猜你喜欢
  • 1970-01-01
  • 2019-08-03
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 2021-02-14
  • 2017-02-25
相关资源
最近更新 更多