部署

部署或冻结应用程序是Python项目中的一个重要部分,这意味着要捆绑所有必需的资源,以便应用程序能够找到在客户端机器上运行所需的一切。然而,由于大多数大型项目不是基于单个Python文件,分发这些应用程序可能是一个挑战。

Here are a few distribution options that you can use:
  1. 发送一个包含应用程序内容的普通ZIP文件。

  2. 构建一个合适的Python包(wheel)

  3. 将应用程序冻结为单个二进制文件或目录。

  4. 提供原生安装程序(msi, dmg)

如果您正在考虑选项3,那么从6.4开始,我们提供了一个名为pyside6-deploy的新工具,该工具可以将您的PySide6应用程序部署到所有桌面平台 - Windows、Linux和macOS。要了解更多关于如何使用该工具的信息,请参阅pyside6-deploy: the deployment tool for Qt for Python。对于Android部署,请参阅pyside6-android-deploy: the Android deployment tool for Qt for Python。此外,您还可以使用下面显示的其他流行的部署工具:

虽然您可以使用这些工具部署PySide6应用程序,但建议使用pyside6-deploy,因为它更易于使用,并且可以获得最优化可执行文件。由于Qt for Python是一个跨平台框架,我们专注于Qt支持的三大平台的解决方案:Windows、Linux和macOS。

下表总结了这些打包工具的平台支持情况:

名称 许可证 Qt 6 Qt 5 Linux macOS Windows

fbs

GPL

PyInstaller

GPL

部分

cx_Freeze

MIT

py2exe

MIT

部分

部分

py2app

MIT

公文包

BSD3

部分

Nuitka

MIT

请注意,只有fbscx_FreezebriefcasePyInstaller满足我们的跨平台要求。

由于这些是命令行工具,您需要特殊的钩子或脚本来处理资源,如图像、图标和元信息,然后将它们添加到您的包中。此外,这些工具不提供更新应用程序包的机制。

要创建更新包,请使用PyUpdater,这是一个围绕PyInstaller构建的工具。

fbs 工具提供了一个友好的用户界面,让用户可以逐步安装应用程序。

注意

仅支持从 Qt for Python 5.12.2 及更高版本进行部署。

这里有一系列关于如何使用这些工具的教程: