PyQt5打包成exe文件,运行弹窗出现 failed to execute script main使用--hidden-import=queue解决后仍失败的新方法

PyQt5打包成exe文件,运行弹窗出现 failed to execute script main使用–hidden-import=queue解决后仍失败的新方法

在打包pyqt5写的GUI界面程序时一直失败(经过pyinstaller打包成单个文件),有以下错误提示:

 WARNING: was placed previously at
14831 WARNING: ('PyQt5\\Qt\\bin\\libGLESv2.dll',
 'D:\\program '
 'files\\python37\\lib\\site-packages\\PyQt5\\Qt\\bin\\libGLESv2.dll',
 'BINARY')

同时运行exe文件时,弹出错误提示框:failed to execute script main
在这里插入图片描述

(一)解决办法一:打包命令附带–hidden-import=queue

打包时加上 --hidden-import=queue
即Parameters配置修改为:
Parameters:–hidden-import=queue -w -F F i l e N a m e FileName FileName

命令行打包示例:

pyinstaller --hidden-import=queue -w -F main.py

或 

pyinstaller.exe  -w -F --hidden-import=queue main.py

打包结果生成:
在这里插入图片描述
注意: 打包生成的exe文件是在dist文件夹下,由于项目中有文件目录用到项目的相对路径,同时为了演示,以上图片中dist外面的.exe文件为本人拷贝出来的。

此时一般就可以打包完成了。

在这里插入图片描述

(二)仍然弹窗 failed to execute script main?(亲身经历,不堪回首…)

在main.py文件中,构建显示窗体GUI界面时,加入如下代码:

import sys,os
#注意就是下面的 if 语句
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

# import others

再次重复第一次步骤打包即可。

最后效果:
在这里插入图片描述

(三) 使用Pychram一键快捷打包.exe文件

Pychram是重量级的python编辑器,可以配置相应的变量等实现在编辑器中写完代码即可打包,无需外部再cd定位文件再 pyinstaller命令打包。

相应步骤如下:

3.1 打开:文件-设置

在这里插入图片描述

3.2 定位到: 工具-外部工具

在这里插入图片描述
注:此处出现的外部工具Pyinstaller即为本人已经做好的结果。

3.3 左侧小绿加号添加操作

在这里插入图片描述

3.4 给操作命名并进行相应的配置

在这里插入图片描述
参数说明:

  1. 程序: 即下载的pyinstaller包内的pyinstaller.exe文件路径,一般使用pip命令下载位于python的安装目录下的Scripts文件夹下。
  2. 参数:在第一步骤说到的加入参数即这里可以自动配置:
-F -w --hidden-import=queue $FileNameWithoutExtension$.py
  1. 工作目录:推荐设定为
$FileDir$

也可以设定为:

$ProjectFileDir$

两者区别以及作用可参考该文章: 在Pychram中配置PyUIC5时文件路径说明与设置

3.5 保存-应用

在这里插入图片描述
此时界面出现:
在这里插入图片描述
在这里插入图片描述

3.6 在项目中,点击需要打包的.py文件,右键找到刚刚命名的外部工具操作点击即可:

在这里插入图片描述
在这里插入图片描述

(四)各类资源分享及交流

在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值