tkinter 打包成exe可执行文件
1.安装pyinstaller
pip install pyinstaller
2.打包
打开cmd,切换到需要打包的文件(demo.py)目录。执行
pyinstaller -F -w demo.py。
生成的exe文件就在子目录dist中。-F表示指定打包后只生成一个exe格式的文件,-w表示窗口,无控制台。
3.修改exe图标
-i icon.ico 或者 --icon=icon.ico
图标文件放在要打包的文件同目录中。
4.替换tk默认图标
如果文件内采用自定义的图标替换tk默认图标,使用说明文档的方法root.iconbitmap(icon.ico)
替换tk图标后,打包的exe执行失败。原因是图标没有打进去,解决方法是打包成文件夹,或者把图标转化成base64数据。
这段程序可将图标gen.ico转换成icon.py文件里的base64数据
import base64
open_icon = open("gen.ico","rb")
b64str = base64.b64encode(open_icon.read())
open_icon.close()
write_data = "img = '{0}'".format(b64str)
f = open("icon.py","w+")
f.write(write_data)
f.close()
修改主程序:
import base64
from icon import img
import os 将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标
tmp = open('tmp.ico', 'wb+')
tmp.write(base64.b64decode(img))
tmp.close()
root.iconbitmap('tmp.ico')
os.remove('tmp.ico') MainSerialToolUI(master=root)
root.resizable(False, False)
root.mainloop()
tkinter 打包成exe可执行文件的更多相关文章
- 如何把py文件打包成exe可执行文件
如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...
- 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)
解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...
- 打包成exe可执行文件的方法
Python安装扩展库与打包成exe可执行文件的方法 1.安装扩展库的几种方法. 首先可能需要使用 pip install --upgrade pip 来升级本机的pip程序.然后在命令提示符环境(即 ...
- PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...
- Python打包成exe可执行文件
Python打包成exe可执行文件 安装pyinstaller pyinstaller打包机制 Pyinstaller打包exe 总结命令 可能会碰到的一些常见问题 我们开发的脚本一般都会用到一些第三 ...
- Python抖音视频去水印,并打包成exe可执行文件
前言 抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成exe可执行文件,可以发给你的好友使 ...
- Java桌面程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- windows下如何将Python文件打包成.exe可执行文件
在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没 ...
- Java程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
随机推荐
- 基于STM32F4移植W5500官方驱动库ioLibrary_Driver(转)
源: 基于STM32F4移植W5500官方驱动库ioLibrary_Driver 参考: 基于STM32+W5500 的Ethernet和Internet移植 Upgrade W5500 Throug ...
- 关于nginx配置虚拟主机
前提:我的虚拟主机的外网ip为111.231.226.228(是云服务器哈) 本地测试环境为windows7(修改本地的hosts文件) 步骤:(安装nginx可以看看我文章“linux ng ...
- airtest 记录
from airtest.core.api import * # 通过ADB连接本地Android设备 connect_device("Android:///") #安装待测软件a ...
- python opencv 检测特定颜色
import cv2 import numpy as np cap = cv2.VideoCapture(0) # set blue thresh 设置HSV中蓝色.天蓝色范围 lower_blue ...
- Netty1
基于Netty4的HttpServer和HttpClient的简单实现 Netty的主页:http://netty.io/index.html 使用的Netty的版本:netty-4.0.23.Fin ...
- Mysql 批量更新update的表与表之间操作
Mysql 批量更新update的表与表之间操作 一.方法一 使用User2表数据更新User表: update User as a ,User2 as b set a.role_id=b.set_v ...
- topcoder srm 713 div1
problem1 link 如果$a^{b}=c^{d}$,那么一定存在$t,x,y$使得$a=t^{x},c=t^{y}$.一旦$t,x,y$确定,那么可以直接计算出二元组$b,d$有多少.对于$t ...
- Python 装饰器实例
retry 偶然看到一篇文章,想到了前几天的一个需求,git pull性能不稳,需要加入重试机制,正好这个装饰器的实例符合这样的场景. # coding:utf-8 import time impor ...
- Visual Studio Code 的 launch.json 解析
{ "version": "0.2.0", "configurations": [ { "name": "(g ...
- SpringBoot 利用过滤器Filter修改请求url地址
要求: 代码中配置的url路径为http://127.0.0.1/api/associates/queryAssociatesInfo 现在要求http://127.0.0.1/associates/ ...