分享

Python程序打包—使用Pyinstaller打包GUI程序

 UINOTE 2023-11-09 发布于江苏

打包GUI程序

前边我们写的示例代码都是 GUI 程序 ,打包后运行时带一个黑框,体验太糟糕了,这次我们就做掉它。

假如你的 Python 程序的主入口文件是xx.py,那么你的打包命令就是:

Pyinstaller -w xx.py

📙注意:如果是和-F参数一起使用,应该是-Fw,而不是-F -w

示例演示

示例代码

本代码使用到了PySimpleGUI库,需要先安装该库,安装命令 pip install pysimplegui

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件    :test.py
@说明    :使用Pysimplegui实现一个简单的窗口
@时间    :2023/10/13 09:44:46
@作者    :aliha
@版本    :1.0
'''


import PySimpleGUI as sg  

layout = [
    [sg.Text('请输入内容:')],    
    [sg.InputText()],    
    [sg.Submit('确认'), sg.Cancel('取消')]


window = sg.Window('Demo示例', layout)  

event, values = window.read()   

text_input = values[0]  
sg.popup('你输入了:', text_input)

执行打包

运行打包命令

pyinstaller -Fw test.py

打包效果展示

点击 test.exe 就可以运行程序,具体效果如下⬇️:

图片

可以看到,命令行窗口就隐藏掉了这里因为我的系统主题设置的黑色,所以动图那么显眼,对比之前可以看出效果图片

巧用命令行窗口调试

命令窗口虽然影响美观,但是可以辅助我们调试打包程序,避免打包好了运行失败,毕竟”垃圾“就是放错位置的”资源“

比如,我们在以上示例代码中,添加这条输出语句

print('#>>:'+values[0])

模拟运行一下用户使用,可以看到命令行窗口输出了我们输入的内容。

图片

图片在发布之前测试打包程序是很重要的,有很多软件在打包后会出现一些问题,需要手动调整。命令行窗口可以很快的辅助我们定位到这些问题。

📗提示:有个一个小小的调试技巧,不直接运行程序,而是先打开命令行,将 exe 拖入,然后按下回车键(Enter)运行程序,这样即使是 GUI 程序的主线程崩溃了,我们依然可以看到报错的输出,而不是一闪而过。

总结

这样我们制作好的程序就显得正经许多了,不像是个”三无“产品了,在实际的开发中,很多程序并不像我们”示例代码“写的这么简单,巧用命令窗口,可以在发布前发现更多隐藏问题。

图片


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多