欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PyQtdeploy-V2.4 User Guide 中文 (二)

程序员文章站 2022-03-20 19:13:22
PyQtdeploy 用户指南 目录 介绍 与V1.0+的差异 作者 证书 安装 "部署过程概览" PyQt的演示 构建演示 Android IOS Linux MacOS Windos 构建系统根目录 标准组建插件 创建Sysroot规范文件 PyQt演示的Sysroot 命令行 编写组建插件 创 ......

pyqtdeploy 用户指南

目录

  • 介绍
    • 与v1.0+的差异
    • 作者
    • 证书
    • 安装
  • pyqt的演示
    • 构建演示
    • android
    • ios
    • linux
    • macos
    • windos
  • 构建系统根目录
    • 标准组建插件
    • 创建sysroot规范文件
    • pyqt演示的sysroot
    • 命令行
    • 编写组建插件
  • 创建pyqtdeploy项目
    • 定义应用程序源
    • 定义qmake配置
    • 添加标准库包
    • 添加其他包
    • 添加其他扩展模块
    • 定义文件和目录位置
  • 构建应用程序
    • 命令行
  • windows和动态加载扩展模块
  • 使用pyrcc的应用程序
    • 支持pep 302可选导入挂钩
  • pdytools模块

部署过程概览

pyqtdeploy的母的是将python应用程序、python解释器、python标准库、python c扩展模块、第三方python包和第三方扩展模块转换为对于特定目标的单个可执行文件。根据目标,可执行文件可能需要通过某种方式打包才能真正部署。例如:android应用程序需要签名并打包为.apk文件。任何此类打包都不在pyqtdeploy的范围内。

虽然pyqtdeploy允许你创建单个可执行文件,但你能根据需要将组建保留在可执行文件外部。

pyqtdeploy支持一下目标体系结构:

  • android -32
  • android -64
  • ios -64
  • linux -64
  • macos -64
  • win -32
  • win -64

完整的结构命名由平台和一个用于区分的-组成。请注意,并非所有的平台和操作位的组合都支持。

pyqtdeploy使用qt的以下部分:

  • qmake是支持交叉编译到多个目标的qt系统。
  • rcc是一个将任意文件转换为嵌入式文件结构的c++数据结构,该文件系统可作为应用程式的一部分进行连接。
  • qtcore库实现了访问识别引用rcc创建的嵌入式文件系统内容的文件和目录名称的apis。pyqtdeploy实现了使用qtcore的导入挂钩,以便可以像从普通文件系统导入python模块一样从嵌入式文件系统导入静态的python模块。

注意:pyqtdeploy生成的代码本身并不适用pyqt。pyqtdeploy可用于部署非pyqt应用程序,包括简单的命令行脚本。但是,由于每个已部署的应用程序都链接到qtcore库,所以您应该确保您的应用程序的许可与您正在使用的qt版本的许可兼容。

当一个应用程序由许多第三方组件(python包和扩展模块)组成时,有必要将这些组建安装在已定义的位置,以便在应用程序的构建过程中可以找到它们。虽然在某些情况下可以使用现有的python安装,但它有许多缺点:

  • 不同的应用程序可能对第三方软件包的不同版本有要求,因此难以共享相同的python安装。
  • 您的应用程序可能需要以不同方式配置组件(包括python解释器本身)。
  • 标准python安装将包含动态链接的扩展模块,但您可能希望使用静态链接的版本。
  • 在部署非本机平台时无法使用它。

经验表明,将所有这些组件与任何标准python安装分开都更容易。特定于目标的系统根目录(sysroot)可用于包含所有必需组件的适当配置和版本构建。如果您正在开发许多应用程序,那么很可能您将对这些应用程序使用的组件版本进行标准化。因此,您可以创建一个用于构建所有应用程序的sysroot。虽然使用sysroot是完全可选的,但强烈建议使用。

开发可部署应用程序所需的步骤如下:

  1. 使用包含所需第三方组件的本机python安装,正常开发和测试应用程序。
  2. 确定所需的第三方组件并构建特定于目标的sysroot。请参阅以了解如何使用pyqtdeploy-sysroot执行此操作。
  3. 为应用程序创建项目文件,以标识应用程序的源代码以及应用程序使用的所有组件及其位置。请参阅以了解如何使用 pyqtdeploy执行此操作。
  4. 冻结python模块并在特定于目标的构建目录中生成qmake .pro文件。该.pro文件将引用相关sysroot中的所有必需组件。运行qmake然后 make以创建应用程序可执行文件。请参阅 以了解如何使用 pyqtdeploy-build执行此操作。

返回