PyQt5写好的py文件生成可执行的exe文件【Pyinstaller】

文章目录

  • 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 支持 WindowsmacOSLinux,可以在不同的操作系统上打包应用。
  自动依赖检测:PyInstaller 会自动分析你的 Python 程序,并识别出它所需的所有依赖库和资源文件。
  单文件打包:PyInstaller 可以将所有依赖项打包成一个单独的可执行文件,使得分发和部署变得更加简单。
  丰富的配置选项:用户可以通过配置文件或命令行参数自定义打包过程,例如选择哪种图标、隐藏控制台窗口等。
  兼容性:支持各种 Python 版本(包括 Python 2Python 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_splashpyinstaller默认的库不需要安装*
  例: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.指令总结

指令作用
-Fexe文件
-Dexe包含在文件夹里
-n程序名称
-i程序图标
-w不打开命令行
-p其他py文件
--splash(需要写上try系列代码)加载前图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值