【三】把Python Tk GUI打包exe可执行程序,移植到其他机器可用

背景

        这是一个系列文章。上一篇【【二】为Python Tk GUI窗口添加一些组件和绑定一些组件事件-CSDN博客】
        使用python脚本写一个小工具。因为命令行运行的使用会有dos窗口,交互也不是很方便,开发环境运行也不方便分享给别人用,所以想到使用一个简单、易学、好上手的GUI工具给包装一下,达到一个直观、易用的目的,也可以打包分享给别人。

系统环境

  • python 3.0
  • 开发环境windows 11,最低打包运行环境windows 10
  • 开发工具PyCharm

打包windows桌面端.exe程序

安装pyinstaller

// 安装打包依赖
pip3 install pyinstaller

开始打包

        这里对main_tk.py文件进行打包,打包过程会生成build文件夹和dist文件夹。build包含一些打包过程中产生的中间文件和临时文件,dist包含打包之后的可执行程序和一些必要资源文件
目录结构如图:
image.png
        进入到demo文件夹所在的终端路径:
image.png
打包命令:

参数解释:
–add-data: 资源复制参数,等同于xxx.spec文件中Analysis(datas=[(‘.\logo.ico’, ‘.\’)])
-F: 指定需要打包的可执行程序
-w:忽略运行时的dos窗口
-i: 指定快捷图标
-n: 打包.exe文件别名
pyinstaller --add-data “.\logo.ico;.” -F .\main_tk.py -w -i .\logo.ico -n 工具
// 或者自建 工具.spec文件,写好配置运行
pyinstaller 工具.spec # 也可以完成打包

        打包完成后会在当前目录生成builddist,如图:
image.png
        如果--add-data参数没有把资源复制到dist目录,可能是因为版本问题,需要手动把需要的资源复制到dist文件夹,logo.ico复制到dist文件夹。
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费API接口:让开发更简单更快

运营商三要素 API:输入姓名、身份证号码、手机号码,验证此三种信息是否一致,返回验证结果、手机归属地、运营商名称。银行卡三要素:检测输入的姓名、身份证号码、银行卡号是否一致。毫秒级响应、直联保障,支持全国所有…

ubantu中的docker安装

1.Ubuntu Docker 安装 | 菜鸟教程 (runoob.com) 我就是看这个教程进行操作的 2.执行下面两步,就算是安装完成了 3.启动,并检查是否安装成功: 4.安装之后,怎么用,那就是自己随便探索咯,可以看博客&#xf…

Ubuntu and Mac OSX之间传输文件(共享文件夹方法)

解决思路来自于:https://devicetests.com/share-files-ubuntu-mac-osx 利用了samba协议,原文: Samba is an open-source software suite that uses the SMB/CIFS protocol to provide seamless file and print services to SMB/CIFS client…

3D Web可视化开发工具包HOOPS Communicator:提供Web端浏览大型模型新方案!

前言:HOOPS Communicator是Tech Soft 3D旗下的主流产品之一,具有强大的、专用的高性能图形内核,专注于基于Web的高级3D工程应用程序。其由HOOPS Server和HOOPS Web Viewer两大部分组成,提供了HOOPS Convertrer、Data Authoring的模…

【Spring Cloud】Gateway组件的三种使用方式

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Spring Cloud》。🎯🎯 &am…

游戏版 ChatGPT,要用 AI 角色完善生成工具实现 NPC 自由

微软与 AI 初创公司 Inworld 合作,推出基于 AI 的角色引擎和 Copilot 助理,旨在提升游戏中 NPC 的交互力和生命力,提升游戏体验。Inworld 致力于打造拥有灵魂的 NPC,通过生成式 AI 驱动 NPC 行为,使其动态响应玩家操作…

噪声数据库

原文不能收藏,转发,就写这里了:语音行业有什么好用的开源噪声库吗? Audio research group - Tampere University - Datasets 这里面很多,下载比较麻烦点,需要找需要的 2. http://www.cs.tut.fi/sgn/arg/d…

蜗牛目标检测数据集VOC格式480张

蜗牛,一种缓慢而坚韧的软体动物,以其螺旋形的外壳和黏附力极强的黏液而为人所熟知。 蜗牛体型呈螺旋形,有一个硬壳保护其柔软的身体。壳的形状和纹理因种类而异,有的光滑如玻璃,有的则布满细纹。蜗牛的头部有两对触角…

现代 C++ 及 C++ 的演变

C 活跃在程序设计领域。该语言写入了许多新项目,而且据 TIOBE 排行榜数据显示,C 的受欢迎度和使用率位居第 4,仅次于 Python、Java 和 C。 尽管 C 在过去二十年里的 TIOBE 排名都位居前列(2008 年 2 月排在第 5 名,到…

el-table实现多行合并的效果,并可编辑单元格

背景 数据为数组包对象&#xff0c;对象里面有属性值是数组&#xff1b;无需处理数据&#xff0c;直接使用el-table包el-table的方法&#xff0c;通过修改el-table的样式直接实现多行合并的效果 html代码 <template><div><el-table size"mini" :d…

【Cadence】sprobe的使用

实验目的&#xff1a;通过sprobe测试电路中某个节点的阻抗 这里通过sprobe测试输入阻抗&#xff0c;可以通过port来验证 设置如下&#xff1a; 说明&#xff1a;Z1代表sprobe往left看&#xff0c;Z2代表sprobe往right看 结果如下&#xff1a; 可以看到ZM1I0.Z2 顺便给出了I…

基于GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

详情点击链接&#xff1a;基于ChatGPT4Python近红外光谱数据分析及机器学习与深度学习建模教程 第一&#xff1a;GPT4基础 1、ChatGPT概述&#xff08;GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变&#xff09; 2、ChatGPT对话初体验&#xff08;注册与充值、购买方法&am…

酒店客房管理系统设计与实现(代码+数据库+文档)

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目 希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一、研究背景 1.1 研究背景 当…

N9914A FieldFox 手持式射频分析仪,6.5 GHz

N9914A FieldFox 手持式射频分析仪 简述&#xff1a; Keysight FieldFox 便携式分析仪可以在非常恶劣的工作环境中&#xff0c;轻松完成从日常维护到深入故障诊断的各项工作。 选择最适合您需求且有强大软件支持的 Keysight FieldFox 配置。 FieldFox 分析仪可配置为电缆与天线…

C语言中的指针变量p,特殊表达式p[0] ,(*p)[0],(px+3)[2] ,(*px)[3]化简方法

一.已知以下代码&#xff0c;请问以下 式子p[0] &#xff0c;p[1] &#xff0c;(*p)[0] &#xff0c;(*p)[1] 是什么意思&#xff1f; int A[3] {1,2,3}; int (*p)[3] &A; 因为前面的嵌入式C语言基础的章节中说过&#xff0c;数组下标其实就是数组首元素的地址往上偏…

前端面试题集合三(js)

目录 1. 介绍 js 的基本数据类型。2. JavaScript 有几种类型的值&#xff1f;你能画一下他们的内存图吗&#xff1f;3. 什么是堆&#xff1f;什么是栈&#xff1f;它们之间有什么区别和联系&#xff1f;4. 内部属性 [[Class]] 是什么&#xff1f;5. 介绍 js 有哪些内置对象&am…

Mac笔记本中mysql重置密码

随着Mac笔记本的普及&#xff0c;越来越多的用户选择在Mac上运行MySQL数据库。然而&#xff0c;当忘记密码或需要重置密码时&#xff0c;可能会遇到一些问题。本文将向您介绍如何在Mac笔记本上重置MySQL密码。 一、准备工作 在开始之前&#xff0c;请确保您已经安装了MySQL并…

理解DOM树的加载过程

DOM&#xff08;Document Object Model&#xff09;树的加载过程是浏览器解析HTML文档并构建DOM结构的过程。这个过程涉及到多个步骤&#xff0c;下面是一个简化的描述&#xff1a; 解析HTML文档&#xff1a;当浏览器接收到HTML文档时&#xff0c;它会开始解析这个文档。解析器…

【学术会议】第三届神经计算青年研讨会 学习笔记

第三届神经计算青年研讨会 学习笔记 会议时间&#xff1a;2024-1-6至2024-1-7 会议地点&#xff1a;电子科技大学 会议介绍&#xff1a; 为提升我国神经计算⻘年研究队伍的学术⽔平和国际影响⼒&#xff0c;研讨会主题涵盖&#xff1a;神经系统建模与模拟、脑机接⼝与类脑智能、…

探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty

目录 前言 Spring框架 Spring MVC框架 Spring Boot框架 MyBatis框架 Netty框架 结语 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊探索Java中最常用的框架&#xff1a;Spring、Spring MVC、Spring Boot、MyBatis和Netty&#xff0c;希…