十、PyQt5程序的打包发布 | 您所在的位置:网站首页 › pyqt界面设计的代码怎么封装成软件 › 十、PyQt5程序的打包发布 |
PyQt5程序的打包发布,即将.py代码打包成可直接双击执行的.exe文件,Python中无内置可直接打包程序的模块,需要借助第三方模块,常用的有Pyinstaller。 首先简单介绍如何安装Pyinstaller模块,然后详细讲解如何借助Pyinstaller打包普通Python程序和PyQt5程序,最后讲解如何在打包Python程序时,对资源文件进行打包。 1. 安装Pyinstaller模块使用Pyinstaller模块打包Python程序前,需要先安装该模块,安装命令如下: pip install Pyinstaller 在终端输入以上命令,安装成功后显示如下图: 如果安装不成功,出现如下提示,说明缺少其他依赖模块: 安装完Pyinstaller后,就可以使用它对.py文件进行打包了。打包分两种情况,一种是打包普通Python程序,另外一种是打包使用了第三方模块的Python程序。 2. 打包普通Python程序普通Python程序指的是完全使用Python内置模块或者对象实现的程序,程序中不包括任何第三方模块。使用Pyinstaller的打包步骤如下。 打开终端,使用cd命令切换到要打包的.py文件所在路径。输入打包命令进行打包: pyinstaller -F 文件名.py 示例:打包普通的Python程序创建一个普通Python文件命名为“创建demo文件夹.py”,代码内容如下,作用是简单创建一个demo文件夹: 使用命令打包“创建demo文件夹.py”文件: 使用Pyinstaller模块打包Python程序时,如果在Python程序中引入了其他的模块,在双击执行打包后的.exe文件时,会出现找不到相应模块的提示,例如,打包一个导入了PyQt5模块的Python程序,则在运行时会出现如下提示: 使用“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
(2)输入以上命令后,按Enter键,即可自动打包PyQt5程序,打包完成之后提示“*** completed successfully”,说明打包成功。 在双击打包完成的.exe文件运行程序时,可能会出现下图所示警告对话框,这主要是由于本机的PyQt5模块未安装在全局环境中。 在打包Python程序时,如果程序中用到图片或者文件等资源,打包完成后,需要对资源文件进行打包。打包资源文件,只需要将打包的.py文件同级目录下的资源文件或者文件夹复制到dist文件夹中即可。 |
CopyRight 2018-2019 实验室设备网 版权所有 |