十、PyQt5程序的打包发布

      PyQt5程序的打包发布,即将.py代码打包成可直接双击执行的.exe文件,Python中无内置可直接打包程序的模块,需要借助第三方模块,常用的有Pyinstaller
      首先简单介绍如何安装Pyinstaller模块,然后详细讲解如何借助Pyinstaller打包普通Python程序和PyQt5程序,最后讲解如何在打包Python程序时,对资源文件进行打包。

1. 安装Pyinstaller模块

使用Pyinstaller模块打包Python程序前,需要先安装该模块,安装命令如下:

pip install Pyinstaller

      在终端输入以上命令,安装成功后显示如下图:
在这里插入图片描述

安装不成功时的解决办法

      如果安装不成功,出现如下提示,说明缺少其他依赖模块:
十、PyQt5程序的打包发布_第1张图片
      解决办法是,先用pip安装命令安装pywin32和wheel模块,再安装Pyinstaller模块:

pip install pywin32
pip install wheel

      安装完Pyinstaller后,就可以使用它对.py文件进行打包了。打包分两种情况,一种是打包普通Python程序,另外一种是打包使用了第三方模块的Python程序

2. 打包普通Python程序

      普通Python程序指的是完全使用Python内置模块或者对象实现的程序,程序中不包括任何第三方模块。使用Pyinstaller的打包步骤如下。
      打开终端,使用cd命令切换到要打包的.py文件所在路径。输入打包命令进行打包:

pyinstaller -F 文件名.py

示例:打包普通的Python程序

创建一个普通Python文件命名为“创建demo文件夹.py”,代码内容如下,作用是简单创建一个demo文件夹:
十、PyQt5程序的打包发布_第2张图片

使用命令打包“创建demo文件夹.py”文件:
十、PyQt5程序的打包发布_第3张图片
打包成功:
十、PyQt5程序的打包发布_第4张图片
目录下会多两个文件夹和一个文件:
十、PyQt5程序的打包发布_第5张图片
十、PyQt5程序的打包发布_第6张图片
dist文件夹中的.exe文件就是我们打包后的最终需要的结果,其他多出来的文件和文件夹可以删除。
十、PyQt5程序的打包发布_第7张图片
到资源管理器的该目录下,双击运行“创建demo文件夹.exe”文件,即可成功在当前目录下创建一个demo文件夹:
十、PyQt5程序的打包发布_第8张图片

常见错误

      使用Pyinstaller模块打包Python程序时,如果在Python程序中引入了其他的模块,在双击执行打包后的.exe文件时,会出现找不到相应模块的提示,例如,打包一个导入了PyQt5模块的Python程序,则在运行时会出现如下提示:
十、PyQt5程序的打包发布_第9张图片
解决该问题,需要在pyinstaller打包命令中使用–paths指定第三方模块所在的路径。

3. 打包PyQt5程序

      使用“pyinstaller -F”命令可以打包没有第三方模块的普通Python程序,但如果程序中用到了第三方模块,在运行打包后的.exe文件时就会出现找不到相应模块的提示,下面会介绍如何解决这类问题。
      PyQt5是一个第三方的模块,可以设计窗口程序,因此在使用pyinstaller命令打包其开发的程序时,需要使用–path指定PyQt5模块所在路径;由于是窗口程序,在打包时需用-W指定打包的是窗口程序,还可使用–icon指定窗口图标。

基本语法

pyinstaller --paths PyQt5模块路径 -F -w --icon=窗口图标文件 文件名.py
# 参数说明:
# --paths:指定第三方模块的安装路径。
# -w:表示窗口程序。
# --icon:可选项,如果设置了窗口图标,则指定相应文件路径;如果没有,则省略。
# 文件名.py:窗口程序的入口文件。

示例:使用pyinstaller命令打包一个PyQt5程序

(1)打开终端,切换到py文件所在目录,使用pyinstaller命令进行打包。
可以使用如下两种命令方式:

pyinstaller -F -w 文件名.py
pyinstaller --paths PyQt5的bin目录路径 -F -w 文件名.py

十、PyQt5程序的打包发布_第10张图片
或者
在这里插入图片描述

(2)输入以上命令后,按Enter键,即可自动打包PyQt5程序,打包完成之后提示“*** completed successfully”,说明打包成功。
在这里插入图片描述
(3)打包成功的.exe文件位于.py同级目录的dist文件夹中,直接双击即可打开PyQt5窗口程序。
十、PyQt5程序的打包发布_第11张图片

常见错误

      在双击打包完成的.exe文件运行程序时,可能会出现下图所示警告对话框,这主要是由于本机的PyQt5模块未安装在全局环境中。
十、PyQt5程序的打包发布_第12张图片
十、PyQt5程序的打包发布_第13张图片

4. 打包资源文件

      在打包Python程序时,如果程序中用到图片或者文件等资源,打包完成后,需要对资源文件进行打包。打包资源文件,只需要将打包的.py文件同级目录下的资源文件或者文件夹复制到dist文件夹中即可。
十、PyQt5程序的打包发布_第14张图片
例如:
十、PyQt5程序的打包发布_第15张图片

你可能感兴趣的:(PyQt,python,windows,pyqt)