PyQt6 利用Pyinstaller打包发布程序

锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计53条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/PyQt6程序的打包发布,即将.py代码文件打包成可以直接双击执行的.exe文件,在Python中并没有内置可以直接打包程序的模块,而是需要借助第三方模块实现。打包Python程序的第三方模块有很多,其中最常用的就是Pyinstaller。

安装Pyinstaller

pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

打包普通Python程序

普通Python程序指的是完全使用Python内置模块或者对象实现的程序,程序中不包括任何第三方模块。使用Pyinstaller打包普通Python程序的步骤如下。

打开系统的CMD命令窗口,使用cd命令切换到.py文件所在路径(如果.py文件不在系统盘C盘,需要先使用“盘符:”命令来切换盘符),然后输入“pyinstaller -F 文件名.py”命令进行打包

下面是一些常用的命令行选项:

-F:将所有文件打包为一个单独的可执行文件。 -D:将所有文件打包为一个目录,包含可执行文件和所有依赖的文件。 -c:将程序与命令提示符结合在一起,以便在命令提示符下运行。 -d:将调试信息打包进可执行文件中。 –onefile:将所有文件打包为一个单独的可执行文件。 -o:指定输出文件的位置。 -w:打包为窗口文件。 -p DIR, –path=DIR:设置导入路径,从而导入需要的模块

测试代码:

"""
    
    作者 : 小锋老师
    官网 : www.python222.com
"""
import time
​
if __name__ == '__main__':
    print("hello Wolrd python222")
    time.sleep(3000)

打包命令:

pyinstaller -F helloworld.py

dist目录,可以找到打包生成的 helloworld.exe 可执行文件。

双击运行:

打包PyQt6程序

前面使用“pyinstaller -F”命令可以打包没有第三方模块的普通Python程序,但如果程序中用到了第三方模块,在运行打包后的.exe文件时就会出现找不到相应模块的提示。

我们就以打包PyQt6程序为例进行详细讲解。

PyQt6是一个第三方的模块,可以设计窗口程序,因此在使用pyinstaller命令打包其开发的程序时,需要使用--paths指定PyQt6模块所在的路径;另外,由于是窗口程序,所以在打包时需要使用-w指定打包的是窗口程序,还可以使用--icon指定窗口的图标。

pyinstaller --paths PyQt6模块路径 -F -w --icon=窗口图标文件 文件名.py

参数说明:

  • --paths:指定第三方模块的安装路径。

  • -w:表示窗口程序。

  • --icon:可选项,如果设置了窗口图标,则指定相应文件路径;如果没有,则省略。

  • 文件名.py:窗口程序的入口文件。

我们打包以前学习的加法程序。

pyinstaller --paths D:\python\python3\Lib\site-packages\PyQt6\Qt6\bin -F -w --icon=favicon32.ico 信号与槽Main.py

双击执行:

执行报错,找不到ui文件。

这里注意,所有的项目资源文件,包括Ui,图片等资源文件,都要放到dist目录下。

相关推荐

  1. PyQt5程序打包发布

    2023-12-23 20:16:01       38 阅读
  2. python中pyinstaller打包带资源的程序-pgzreo

    2023-12-23 20:16:01       20 阅读
  3. python 文件打包(使用pyinstaller)

    2023-12-23 20:16:01       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 20:16:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 20:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 20:16:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 20:16:01       20 阅读

热门阅读

  1. LeetCode 1671. 得到山形数组的最少删除次数

    2023-12-23 20:16:01       48 阅读
  2. 5-Docker实例-安装php

    2023-12-23 20:16:01       42 阅读
  3. npm的介绍和使用

    2023-12-23 20:16:01       33 阅读
  4. Linux根目录下默认目录作用

    2023-12-23 20:16:01       41 阅读
  5. 事件相机角点检测:从原理到演示编程

    2023-12-23 20:16:01       40 阅读
  6. UDP Ping程序实现--第2关:接收并转发消息

    2023-12-23 20:16:01       42 阅读
  7. 最优秀的Python开发工具

    2023-12-23 20:16:01       44 阅读