> 文章列表 > Python打包调试问题解决

Python打包调试问题解决

Python打包调试问题解决

使用pyinstaller打包,发现问题:

  1. 代码运行时调试的结果不一致

  1. 代码中设定的图标打包后没有显示出来

打包代码程序

test.py为入口函数main()所在的文件

  1. pyinstaller -F -w -i test.ico test.py 不会出现控制台图标为test.ico,-F生成单个.exe文件

  1. pyinstaller -F --i test.ico test.py 会出现控制台,代码中加一些调试代码,便于发现问题,-F生成单个.exe文件

  1. pyinstaller -D --i test.ico test.py 不会出现控制台图标为test.ico,-D生成多个.exe文件

  1. pyinstaller -D --i test.ico test.py 会出现控制台,代码中加一些调试代码,便于发现问题,-D生成多个.exe文件

其中-F 生成单个可执行文件,文件比较大

-D 生成多个文件,其中有个.exe为执行文件

问题1:针对打包后与代码中调试不成功的例子,在代码中加入一下调试的代码,打包时开启控制台,在控制台中可以查看程序运行哪里出现问题

Python打包调试问题解决

我这段代码出现问题,是由于程序中需要打开的excel表格文件不存在。将文件加入到对应文件夹,问题解决。

Python打包调试问题解决

问题2:图标不显示

将.ico文件转为.qrc文件,代码中导入即可

  1. 新建title.text文件,路径为title.ico文件所在的路径,内容如下:

<RCC><qresource prefix = "/"><file>title.ico</file></qresource>
</RCC>
  1. 对文件进行重命名 将title.text修改到title.qrc

  1. 使用pyrcc5对文件进行转化,pyrcc5是将文件转化为.py

如果pyrcc5没有安装的话,需要先安装和配置

安装方式:pip install pyqt5_tools

配置方式:

Python打包调试问题解决

转化方法:在resource.qrc所在路径下打开cmd.

在cmd下输入命令:pyrcc5 -o resource.py resource.qrc

同一个路径下出现:resource.py

Python打包调试问题解决
  1. 将resource.py 文件放在代码路径下,在主程序中导入

import resource
self.setWindowIcon(QIcon(":/title.ico"))
  1. 再次运行,发现图标可以正常出现

Python打包调试问题解决