使用Pyinstall将PyQT5工程打包成.exe应用程序(包含图标一同打包)

1.首先安装pyinstaller。

 pip install pyinstaller

2.PyQT5制作程序中使用到的ico等一系列图标文件,要先经过.qrc文件转成.py文件后,才可跟随打包文件一同打包。

  首先创建一个.qrc文件,将图片文件全部写进去,例如:

<RCC>
 <qresource>
 <file>111.ico</file>
 <file>222.png</file>
 <file>333.gif</file>
 <file>444.jpg</file>
 </qresource>
 </RCC>

        然后,使用pyrcc5命令,将.qrc文件转换成.py文件。

pyrcc5 resource.qrc -o resource_rc.py

转换后的.py文件如下:

3.需要在想要打包的***.py文件中将图片的路径写成这样:

palette1 = QPalette()
pix1 = QPixmap(":/111.jpg")
palette1.setBrush(QPalette.Background, QBrush(pix1))
demo.setPalette(palette1)
palette2 = QPalette()
pix2 = QPixmap(":/222.jpg")

4.在将要打包的***.py文件中将转后的.py文件import进去。

 import resource_rc.py 

5.1 单文件打包

  单文件打包会将整个项目和相关依赖都打包进一个exe,此时一般只需要发送exe文件给别人即可正常运行。它的缺点是:启动相对另一种打包方式更缓慢。
输入命令:

pyinstaller -w -F -i '.\Plot.ico' main.py

参数解释:
  -F :单文件打包
  -w:不要console(取消类似于cmd的黑框框)
  -i:后面接图标地址(图标一定要是标准的ico格式)
  最后面接的是要打包的程序:main.py

运行命令成功后:

  会生成三个文件夹和一个.spec文件,.exe在dist文件夹中。
 

5.2 单文件夹打包

  只需要将dist下的文件夹生成压缩包发给别人,别人解压,找到运行的exe即可运行程序。 相比于单文件打包命令, 只需将命令中的-F换成-D即可。

pyinstaller -w -D -i '.\Plot.ico' main.py

        打包完成后,同样生成了三个文件夹和一个.spec文件。 不同的是:在dist文件夹里生成了一个文件夹,而.exe就在该文件夹内。这种类型的打包启动速度相对比较快,但是不方便我们查找。而且需要我们格外小心,不要误删或者移动了里面的文件。

  PS:加 -F 虽然是生成了单个exe可执行文件,看上去很清爽,但是这个命令它把所有的环境都整合在了一起,如果我们的程序比较大的话,启动时就会非常慢(如果你的电脑性能一般的话,加载时间会更长)。因为它加载的数据都是静态加载的,需要去封装的包里一个个的去查找,所以速度变慢了。因此去掉 -F 之后,我们的启动速度流畅无比,体验效果也大大提升。去掉它之后,生成的dist文件中你程序中要用到的环境都会被放在dist中,这个时候所用到的环境就变成了动态加载的,速度就跟你用代码启动程序的速度是一样的。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缓下脚步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值