• 发布程序


    正式发布程序

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

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

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

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

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

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

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


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

    其中

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

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

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

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

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

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

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

    程序图标

    添加主窗口图标

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

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

    from PySide2.QtGui import  QIcon
    
    app = QApplication([])
    # 加载 icon
    app.setWindowIcon(QIcon('logo.png'))
    注意:这些图标png文件,在使用PyInstaller创建可执行程序时,也要拷贝到程序所在目录。否则可执行程序运行后不会显示图标。
    应用程序图标

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

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

    比如

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

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

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

    网站1

    网站2

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

    天道酬勤 循序渐进 技压群雄
  • 相关阅读:
    最少必要知识
    pythonGUI编程
    计算机网络基础
    .htaccess总结
    SSRF总结
    jsp学习笔记
    url任意跳转漏洞
    学期总结
    计科一班本学期作业成绩汇总表格
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/14751759.html
Copyright © 2020-2023  润新知