文章目录
- 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 (需要写上tr y系列代码) | 加载前图片 |