文章目录
- pyinstaller介绍
- 特点
- 1.单个py文件
- 2.多个py文件
- 3.程序图标设置
- 4.打包形式
- (1)单个exe文件
- (2)文件夹
- 5.程序开始前的加载中图片
- 6.UPX打包压缩问题
- 解决办法
- 7.指令总结
pyinstaller介绍
pyinstaller 属于Python第三方库,可以将py文件在不同平台上打包为exe可执行文件,从而可以在不同设备上进行使用。因为是第三方库,因此需要安装,安装指令是pip install pyinstaller,这样的指令安装一般会很慢,为了加速,可以指定使用国内源,安装指令是pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
特点
跨平台支持:PyInstaller 支持 Windows、macOS 和 Linux,可以在不同的操作系统上打包应用。
自动依赖检测:PyInstaller 会自动分析你的 Python 程序,并识别出它所需的所有依赖库和资源文件。
单文件打包:PyInstaller 可以将所有依赖项打包成一个单独的可执行文件,使得分发和部署变得更加简单。
丰富的配置选项:用户可以通过配置文件或命令行参数自定义打包过程,例如选择哪种图标、隐藏控制台窗口等。
兼容性:支持各种 Python 版本(包括 Python 2 和 Python 3),并且能够处理大多数第三方库。
打包数据文件:除了 Python 脚本,PyInstaller 还可以打包您的数据文件(如图片、配置文件等)。
集成易用性:生成的可执行文件不依赖于目标机器上是否安装 Python 解释器,可以在没有 Python 环境的计算机上运行。
1.单个py文件
单个py文件:pyinstaller -F 文件.py
例:pyinstaller -F 学生信息管理系统.py
2.多个py文件
多个py文件:pyinstaller -F -w 主文件.py -p 同文件夹下文件 -p 其他文件夹下文件
例:pyinstaller -F -w login.py -p main.py -p Ui_window_UI.py -p D:\ku\__init__.py -p D:\ku\bigwindow.py
-w是指程序启动的时候不会打开命令行。
如果不加-w的参数,就会有黑洞洞的控制台窗口出来
3.程序图标设置
-i用于指定程序的图标
程序图标设置:pyinstaller -F -w -i 图像.ico -n 程序名称
例:pyinstaller -F -w -i icon/icon.ico main.py -p Ui_window_UI.py -p D:\ku\__init__.py -p D:\ku\bigwindow.py
例:pyinstaller -F -w -n 程序美化 -i D:\16.界面美化\一系列\data\pic\icon.png main.py -p u.py
4.打包形式
(1)单个exe文件
将所有程序打包在单个exe文件里:-F
(2)文件夹
将所有程序打包在多个文件夹里:-D
5.程序开始前的加载中图片
首先需要在main.py文件中添加如下语句,然后打包。
try:
import pyi_splash
pyi_splash.update_text('loading....')
pyi_splash.close()
except:
pass
pyi_splash是pyinstaller默认的库不需要安装*
例:pyinstaller main.py -Fw --splash backmap.jpeg
backmap.jpeg是程序开始前的加载中图片地址
6.UPX打包压缩问题
封装提示:UPX is not available.

错误原因:由于pyinstaller打包使用的是UPX,打包时没找到这个应用,导致的报错!
解决办法
解决办法:访问 UPX 官网下载:UPX 官网,我使用的是Window 64版本,所以下载的是win64的压缩包!

解压压缩包,获取upx.exe

将 upx.exe 复制到 pyinstaller 安装目录下。(我的pyinstaller安装目录:D:\Python\Scripts)

7.指令总结
| 指令 | 作用 |
|---|---|
-F | 单exe文件 |
-D | exe包含在文件夹里 |
-n | 程序名称 |
-i | 程序图标 |
-w | 不打开命令行 |
-p | 其他py文件 |
--splash(需要写上try系列代码) | 加载前图片 |


















