Python打包工具
Python的常用的打包工具包括:fbs、PyInstaller、cx_Freeze、py2exe、py2app,而Qt for Python是一个跨平台的框架,因此我们希望专注于在Qt支持的三个主要平台上运行的解决方案:Linux,macOS和Windows。下表总结了对这些打包工具的平台支持:
根据上面的表可以看出,只有fbs,cx_Freeze和PyInstaller 满足我们的跨平台要求。
本文介绍其中一个打包工具 fbs 用来为Qt for Python打包,其他两个大同小异,具体可以参考官网。
FBS
fbs为Python程序打包、创建安装程序和签署应用程序提供了强大的环境。它支持管理应用程序的更新,它基于PyInstaller,因此它支持Linux,macOS和Windows。
详细的信息可以参照官方教程,或者查看文档帮助,有非常详细的操作指引。
安装
通过pip进行安装:
如果您使用的是虚拟环境,请记住在安装之前将其激活。
安装后,就可以使用fbs可执行文件。
创建项目
fbs提供了很好的功能,可以通过执行以下命令来创建基础项目结构,直接在终端输入以下命令:
输入后回车,会提示让你回答几个问题:
- 项目名称
- 作者
- Qt绑定(PySide2或PyQt5)
- 捆绑识别(对于macOS才有)
分别输入后回车就行了。
然后会提示:
在当前路径下就会生成一个src的目录,结构如下:
在settings目录中,有一些可以编辑的json文件,以包含有关项目的更多信息。
在main文件将是下Python目录,其内容在默认情况下是:
此示例显示空QMainWindow。这时候我们只需要继续在命令行输入输入以下命令即可运行:
冻结
验证应用程序正常工作后,可以使用以下命令继续执行冻结过程:
完成此过程后,会收到一条消息,指出可执行文件的位置。例如:
这时候在目录下就可以看到多了一个target目录,并且里面包含可执行程序:
这样就可以直接双击运行可执行程序了,或者在命令行中直接进入到该目录后运行。
打包成安装文件
最后一步,要将程序打包成安装文件,比如mac下是dmg,Windows下是exe。怎么做呢,很简单,执行以下命令就会自动生成:
执行完成后就能在target目录下看到生成的安装包文件:
OK,这样就做好了一个打包文件,如果是自己的一个单独的项目想要用fbs打包,那么可以通过fbs startproject生成基础代码过后,将自己的项目代码拷贝到相应的目录中去,然后替换相关的图片资源等等,最关键的是要在自己的程序中添加这句:
然后就可以按照以上流程打包了。
真的是简单得不能再简单,很好用。
这里只是简单的介绍大致流程,要进一步了解详细信息,可参照官方文档进行。