跳转至

发布程序

正式发布程序


点击这里,边看视频讲解,边学习以下内容

前面,我们开发好了一个HTTP协议测试程序,但是这个程序是Python程序,运行它需要Python解释器。

如果我们要发布程序给客户使用,当然不能要求别人去安装Python解释器,并且敲命令 python httpclient.py

我们应该做成 可执行程序 发布别人使用。

我们可以使用 PyInstaller 来制作独立可执行程序。

我们的教程有对PyInstaller的专门介绍,点击这里查看



我们前面开发的QT界面程序,在Windows 上只需要执行下面的命令,即可制作独立exe程序

pyinstaller httpclient.py --noconsole --hidden-import PySide6.QtXml

这样就会在当前目录下产生一个名为 dist 的目录。里面就有一个名为 httpclient 的目录,我们的可执行程序 httpclient.exe 就在里面。

其中

--noconsole 指定不要命令行窗口,否则我们的程序运行的时候,还会多一个黑窗口。 但是我建议大家可以先去掉这个参数,等确定运行成功后,再加上参数重新制作exe。因为这个黑窗口可以显示出程序的报错,这样我们容易找到问题的线索。

--hidden-import PySide6.QtXml 参数是因为这个 QtXml库是动态导入,PyInstaller没法分析出来,需要我们告诉它,

点击这里,查看我们教程的详细说明



最后,别忘了,把程序所需要的ui文件拷贝到打包目录中。

因为PyInstaller只能分析出需要哪些代码文件。 而你的程序动态打开的资源文件,比如 图片、excel、ui这些,它是不会帮你打包的。

我们的 示例代码 需要 从 httpclient.ui 中加载界面,手动拷贝到 dist/httpclient 目录中。

然后,再双击运行 httpclient.exe ,完美!!


注意

有的杀毒软件,比如 360、QQ管家,会认为打包的exe文件有病毒。

我们只要在 弹出的 安全提示对话框中,选择信任程序即可。

程序图标


点击这里,边看视频讲解,边学习以下内容

添加主窗口图标

我们程序运行的窗口,需要显示自己的图标,这样才更像一个正式的产品。

通过如下代码,我们可以把一个png图片文件作为 程序窗口图标。

from PySide6.QtGui import  QIcon

app = QApplication([])
# 加载 icon
app.setWindowIcon(QIcon('logo.png'))

注意:这些图标png文件,在使用PyInstaller创建可执行程序时,也要拷贝到程序所在目录。否则可执行程序运行后不会显示图标。

应用程序图标

应用程序图标是放在可执行程序里面的资源。

可以在PyInstaller创建可执行程序时,通过参数 --icon="logo.ico" 指定。

比如

pyinstaller httpclient.py --noconsole --hidden-import PySide6.QtXml --icon="logo.ico"

注意参数一定是存在的ico文件,不能是png等图片文件。

如果你只有png文件,可以通过在线的png转ico文件网站,生成ico,比如下面两个网站

网站1

网站2

注意:这些应用程序图标ico文件,在使用PyInstaller创建可执行程序时,不需要要拷贝到程序所在目录。因为它已经被嵌入可执行程序了。

您需要高效学习,找工作? 点击咨询 报名实战班

点击查看学员就业情况

白月黑羽自研打包工具

使用 Pyinstaller 打包时,往往会碰到这样的问题:打包前运行没问题,打包后就运行不起来,各种提示缺少什么文件。


所以,针对学员的这些问题,我开发了这个打包工具 Hypackpy

它的做法和 Pyinstaller不一样,它是:

  • 直接打包 解释器环境 和 项目代码。

  • 可以修改配置文件,排除一些我们不需要的东西

  • 创建 可执行程序,方便用户一键运行

具体如何使用,点击这里学习

教程对应的视频,点击这里观看