Python GUI编程:将自己写的postman打包成exe可执行文件

简介: 接下来,看一下怎么样将编写好的脚本,打包成一个双击可以运行的exe文件:这里需要用到python的一个插件pyinstaller。

通过前面几个章节的文章,我们学会了通过PySide2去编写一个简单的GUI页面测试小工具:

Python GUI编程:PySide2介绍

Python GUI编程:如何运行第一个PySide2的窗体程序

Python GUI编程:PySide2页面设计优化

Python GUI编程:PySide2通过加载页面设计文件的方式运行

Python GUI编程:通过PySide2实现一个简单的postman工具


接下来,看一下怎么样将编写好的脚本,打包成一个双击可以运行的exe文件:这里需要用到python的一个插件pyinstaller。

可以先检查一下自己电脑有没有安装这个插件:

    pip show pyinstaller

    如果没有安装的话,可以使用下面的命令进行安装:

      pip install pyinstaller

      表 1 PyInstaller 支持的常用选项

      -h,--help 查看该模块的帮助信息
      -F,-onefile 产生单个的可执行文件
      -D,--onedir 产生一个目录(包含多个文件)作为可执行程序
      -a,--ascii 不包含 Unicode 字符集支持
      -d,--debug 产生 debug 版本的可执行文件
      -w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
      -c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
      -o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
      -p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
        --distpath DIR 指定exe文件生成的目录,默认是./dist ,及当前目录下的dist文件夹
      -n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

      在表 1 中列出的只是 PyInstaller 模块所支持的常用选项,如果需要了解 PyInstaller 选项的详细信息,则可通过 pyinstaller -h 来查看。

      可以使用下面的命令进行打包:

        pyinstaller -F -w --distpath . rungui.py

        执行上面的命令后,即可打包成exe文件,正常情况下双击即可运行。

        可能会遇到的问题:

        1、由于代码中加载.ui的页面设计文件用的相对路径,导致打包的时候,没有将ui文件一起打包进去,此时双击exe就会报错:


        微信图片_20220114152650.png


        解决办法:

        将ui文件、图标文件等和exe文件放在同一个目录后,再双击执行,就不会有这个问题。

        感兴趣的,也可以尝试将ui文件放到python安装目录的某个位置,然后代码中读取文件的位置改一下 ,估计不会报错。


        控件的其他学习资料,可以参考以下网址:

        http://www.byhy.net/tut/py/gui/qt_01/


        感兴趣的,可以再研究一下,在postman工具中调用百度网址发送请求的时候,如何优化响应结果显示,以及当返回结果很大,或者响应很慢时,如果避免exe程序直接卡死的情况:


        微信图片_20220114152654.png

        目录
        打赏
        0
        0
        0
        0
        4
        分享
        相关文章
        [oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
        本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
        51 28
        |
        16天前
        |
        [oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
        本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
        26 4
        探秘文件共享服务之哈希表助力 Python 算法实现
        在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
        在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
        以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
        在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
        Python 高级编程与实战:构建 RESTful API
        本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
        Python 高级编程与实战:构建自动化测试框架
        本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
        |
        11月前
        |
        Python打包成可执行文件
        Python打包成可执行文件
        151 7
        python (2):python打包成可执行文件app
        本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/46683645 转载请一定注明出处! 1,mac程序打包成app 有两个方案一个 pyinstaller 已经测试过了。没有打包成功。 py2app可以成功打包。 2,安装py2app 首先安装一个gui框架 wxpython 参考: ht
        2509 0
        Python 高级编程与实战:深入理解性能优化与调试技巧
        本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。

        热门文章

        最新文章

        AI助理

        你好,我是AI助理

        可以解答问题、推荐解决方案等