打包成 .exe可执行文件
1. 安装PyInstaller,命令如下:
pip install pyinstaller
2. 编写你的Tkinter应用程序: 创建一个Python文件,例如app.py
,并写入你的Tkinter代码。
3. 在 app.py 文件所在的目录使用
PyInstaller将app.py打包成 .exe文件
pyinstaller --onefile --windowed app.py
打包后的目录结构,exe文件就在 dist 目录中
PyInstaller 的选项说明
参数 | 说明 |
---|---|
--onefile | 将所有文件打包成一个可执行文件 |
--windowed | 适用于GUI应用,防止打开命令行窗口 |
--add-data | 将额外的数据文件(如图像或配置文件)包含到包中,例如--add-data "data.txt;." |
--icon | 为生成的exe文件设置图标,例如 --icon=favicon.ico |
--clean | 在构建之前清理临时文件 |
--noconfirm | 在构建时不提示确认覆盖现有文件 |
--hidden-import | 添加未被自动检测到的模块,例如 --hidden-import=module_name |
打包成 .exe安装文件
1. 下载并安装 NSIS 程序,下载地址:https://nsis.sourceforge.io/Download
2. 创建 NSIS 脚本文件 setup.nsi,脚本内容如下(使用时去除脚本中的中文注释):
# 自定义安装程序的名称
Outfile "app-setup.exe"
InstallDir "$PROGRAMFILES\app"
RequestExecutionLevel admin
Page directory
Page instfiles
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
# 使用PyInstaller 打包后的.exe可执行文件路径
File "D:\app\dist\app.exe"
# 创建桌面快捷方式
CreateShortCut "$DESKTOP\app.lnk" "$INSTDIR\app.exe" "" "$INSTDIR\app.exe" 0
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
# 卸载相关
Section "Uninstall"
Delete "$INSTDIR\app.exe"
Delete "$DESKTOP\app.lnk"
Delete "$INSTDIR\uninstall.exe"
RMDir "$INSTDIR"
SectionEnd
这里先看一下目录结构
3. 打开 NSIS 软件,选择Compile NSI scripts
4. 将 NSIS 脚本文件 setup.nsi 拖拽到上面的窗口中
把 NSIS 脚本文件拖入到窗口中后,如果脚本文件没有问题,就会直接生成.exe安装程序,如下:
5. 双击app-setup.exe文件进行安装。(如果想让其他人安装你的程序,就把app-setup.exe文件发给其他人安装即可)
6. 安装成功效果图,如下
安装目录
桌面快捷方式