Pyinstaller“无法执行主要脚本”问题[重复]

Posted

技术标签:

【中文标题】Pyinstaller“无法执行主要脚本”问题[重复]【英文标题】:Pyinstaller "Failed to script execute main" problem [duplicate] 【发布时间】: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://***.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版 【参考方案1】:

删除 pyinstaller 和 PyQt5,然后使用 pip3

安装它们
pip3 install pyinstaller   
pip3 install PyQt5 

【讨论】:

我使用的是 windows 10 与 pip 或 pip3 无关。我试图重新安装它们 @ImCoder 为什么?看看这个***.com/a/41501815/8767186 没有改变【参考方案2】:

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

【讨论】:

我正在使用 Vscode、virtualenv 和我安装的包(仅 pyqt5)。代码在转换之前运行良好。 你在用windows吗?您也必须在 Windows 系统中安装 pyqt5。 (命令提示符) 我正在使用 Windows。 pyqt5 仅安装在 virtualenv 中。我会试试的 没有任何改变。同样的错误。

以上是关于Pyinstaller“无法执行主要脚本”问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller后不能运行的问题处理

详解python文件打包成exe(pyinstaller简介.安装.打包.常见问题)

pyinstaller打包,exe图片资源无法显示问题

Python 3.6 使用 pyinstaller 打包exe文件遇到的问题

在 Ubuntu 中使用 PyInstaller 时遇到问题

记录Pyinstaller 打包的坑