部署#

部署或冻结应用程序是 Python 项目的关键部分,这意味着将所有必需的资源打包在一起,以便应用程序能够在客户端的机器上运行。然而,由于大多数大型项目不是基于单个 Python 文件,因此分发这些应用程序可能会是一个挑战。

以下是一些您可以使用的一部分分发选项
  1. 以应用程序内容正常 ZIP 文件的形式发送。

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

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

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

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

尽管您可以使用这些工具部署 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

briefcase

BSD3

部分

Nuitka

MIT

注意,只有 fbscx_FreezebriefcasePyInstaller 符合我们的跨平台要求。

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

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

fbs 工具为用户提供了一个漂亮的用户界面,可以按步骤安装应用程序。

注意

从 Qt for Python 5.12.2 版本起支持部署。

以下是一组教程,说明如何使用这些工具