Python打包调试问题解决

news/2024/11/15 2:13:15/

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

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

问题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

配置方式:

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

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

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

  1. 将resource.py 文件放在代码路径下,在主程序中导入

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


http://www.ppmy.cn/news/26667.html

相关文章

Linux查看文件的命令

目录 1、tail 2、head 3、cat 4、more 5、sed 6、less Linux查看日志的命令有多种: tail、cat、tac、head、echo等&#xff0c;本文只介绍几种常用的方法。 1、tail 命令格式: tail[必要参数][选择参数][文件] -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信…

通讯录的实现

一、目的&#xff1a;使用C实现通讯录二、包含功能&#xff1a;添加联系人:向通讯录中添加新人&#xff0c;信息包括&#xff08;姓名、性别、年龄、联系电话、家庭住址&#xff09;最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人…

【Linux操作系统】【综合实验三 用户帐号、文件系统与系统安全管理】

文章目录一、实验目的二、实验要求三、实验内容四、实验报告要求一、实验目的 要求掌握Linux系统用户的创建、删除与管理操作&#xff1b;熟悉Linux文件系统的管理模式&#xff0c;学会创建用户文件系统并装载和卸载文件系统&#xff1b;掌握超级用户的管理方式与权限&#xf…

雷达编程实战之恒虚警率(CFAR)检测

在雷达系统中&#xff0c;目标检测是一项非常重要的任务。检测本身非常简单&#xff0c;它将信号与阈值进行比较&#xff0c;超过阈值的信号则认为是目标信号&#xff0c;所以目标检测的真正工作是寻找适当的阈值。由于目标误检的严重后果&#xff0c;因此雷达系统希望有一个检…

很好用的 UI 调试技巧

文章目录 UI调试效果(一)评论最后UI调试小姑(二)参考文档 很好用的 UI 调试技巧 UI调试效果(一) javascript: (function() {const style = document<

化解射频和微波设计挑战的六个技巧

即使是最自信的设计人员&#xff0c;对于射频电路也往往望而却步&#xff0c;因为它会带来巨大的设计挑战&#xff0c;并且需要专业的设计和分析工具。这里将为您介绍六条技巧&#xff0c;来帮助您简化任何射频PCB 设计任务和减轻工作压力&#xff01; 1、保持完好、精确的射频…

Python 之 Pandas DataFrame 数据类型的简介、创建的列操作

文章目录一、DataFrame 结构简介二、DataFrame 对象创建1. 使用普通列表创建2. 使用嵌套列表创建3 指定数值元素的数据类型为 float4. 字典嵌套列表创建5. 添加自定义的行标签6. 列表嵌套字典创建 DataFrame 对象7. Series 创建 DataFrame 对象三、DataFrame 列操作1. 选取数据…

【C++之容器篇】AVL树的底层原理和使用

目录前言一、AVL树二、AVL树的底层实现1. 结点类型的定义2. AVL树的定义3. 查找函数4. 插入函数(重难点)三、判断平衡树的方法前言 AVL树其实是在搜索树的基础上加上一些限制因素&#xff0c;从而使搜索树的结构保持相对平衡&#xff0c;通过前面我们对二叉搜索树的学习&#x…