PyQtdeploy 用户指南

目录

  • 介绍

  • 部署过程概览
  • PyQt的演示
    • 构建演示
    • Android
    • IOS
    • Linux
    • MacOS
    • Windos
  • 构建系统根目录
    • 标准组建插件
    • 创建Sysroot规范文件
    • PyQt演示的Sysroot
    • 命令行
    • 编写组建插件
  • 创建PyQtdeploy项目
    • 定义应用程序源
    • 定义qmake配置
    • 添加标准库包
    • 添加其他包
    • 添加其他扩展模块
    • 定义文件和目录位置
  • 构建应用程序
    • 命令行
  • Windows和动态加载扩展模块
  • 使用pyrcc的应用程序
    • 支持PEP 302可选导入挂钩
  • pdytools模块

介绍

PyQtdeploy是一个工具,它通过与Qt提供的其他工具一起支持部署使用Python v2.7或Python v3.3或更高版本编写的PyQt应用程序。它支持部署到桌面平台(Linux,Windows和macOS)和移动平台(iOS和Android)。

通常,您将创建Python解释器库的静态编译版本,包含任何第三方扩展模块、PyQt和Qt。这样您的应用程序就没有外部依赖关系。但是,也可以使用任何这些组件的共享版本来减小应用程序的大小,其代价是增加了部署的复杂性。

pyqtdeploy本身需要PyQt5和Python v3.5或更高版本。

pyqtdeploy通过获取PyQt应用程序的各个模块,静态编译它们,然后将它们放在Qt资源文件中,该文件由Qt的rcc工具转换为C ++代码。Python的标准库将以相同的方式处理。

pyqtdeploy围绕Python解释器库生成一个简单的C ++包装器,它使用Python导入机制以类似于Python支持zip文件中模块打包的方式访问嵌入式静态编译模块。

最后,pyqtdeploy生成一个特定于目标的Qt.pro文件,该文件描述了所有生成的C ++代码。Qt的qmake工具用于生成一个Makefile,然后生成一个可执行文件。Qt和(或)平台的特定工具将可执行文件转换为特定于目标的可部署包。

运行pyqtdeploy时会显示一个允许指定所有单独组件的GUI。此信息存储在 pyqtdeploy项目文件中。

pyqtdeploy(尚未)执行自动发现Python标准库模块或第三方模块以包含在应用程序中。您必须自己指定。但是它确实理解标准库中的相互依赖性,因此您只需指定应用程序显式导入的那些包。

可以从命令行(或shell脚本、批处理文件)运行配套程序pyqtdeploy-build,以从项目文件生成C ++代码。

另一个配套程序pyqtdeploy-sysroot支持创建包含某些组件的特定于目标安装的系统根目录(例如Python本身和PyQt)

pyqtdeploy本身不会生成最终的分发包,即由目标平台的包管理系统处理的包。这项工作留给了目标平台的标准包装工具。对于桌面目标,fman Build System是一种替代解决方案,包括对.exe文件(对于Windows), .dmg文件(对于macOS).deb.rpm文件(对于Linux)的支持。

注意:从复杂的Python应用程序(特别是使用外部C扩展模块的应用程序)创建单个可执行文件(特别是没有外部依赖项的可执行文件)并不是一项简单的任务。它需要C语言代码、编译器、构建系统的经验以及调试相关问题的能力。

与V1.0+的差异

自v1以来,pyqtdeploy已经发生了许多变化。大多数这些更改都与支持工具相关而不是与GUI。为v1创建的项目文件将由更高版本自动更新。

Android需要Python v3.6或更高版本,已删除对Python早期版本的支持。

v1建议在组装可部署应用程序的各个部分时采用目录结构。这被称为sysroot目录。提供了一个不受支持的脚本build-sysroot.py,它创建了sysroot目录,并且能够构建和安装有限数量的组件(主要是PyQt和相关的包)。它使用pyqtdeploycli程序生成的配置文件来指定这些组件的构建方式,例如,启用了哪些单独的模块和功能。 build-sysroot.py已替换为完全支持的 pyqtdeploy-sysroot程序。单个组件支持由可配置组件插件实现。通过一个API,您可以为其他组件编写(并提供)自己的插件。与v1一样,使用sysroot目录结构完全是可选的。

该pyqtdeploycli程序已被移除。构建功能已被新的pyqtdeploy-build程序取代。

pyqtdeploy GUI 的Build选项卡已被删除。GUI的唯一目的是创建和修改项目文件。

v1生成的C ++代码和qmake .pro文件试图在所有目标体系结构中可移植。 pyqtdeploy-build将生成特定于单个目标体系结构的代码,该体系结构由--target选项确定,默认为主机体系结构。

作者

pyqtdeploy版权所有(c)Riverbank Computing Limited。其主页为https://www.riverbankcomputing.com/software/pyqtdeploy

可以从https://www.riverbankcomputing.com/mailman/listinfo/pyqt上的PyQt邮件列表获得支持 。

证书

PyQtdeploy是根据BSD许可证发布。

安装

PyQtdeploy可以从PyPI中下载并安装:

pip3 install pyqtdepoly

PyQtdeploy需要安装PyQt5,它并不是自动安装的。


返回目录


或访问我的个人站查看:https://www.mouhaoooo.top

PyQtdeploy-V2.4 User Guide 中文 (一)的更多相关文章

  1. IAP Store Kit Guide(中文)

    IAP Store Kit Guide(中文) 一.In App Purchase概览 Store Kit代表App和App Store之间进行通信.程序将从App Store接收那些你想要提供的产品 ...

  2. SDL Guide 中文译版

    SDL即Simple DirectMedia Layer,类似DirectX,是完整的游戏.多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的 ...

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

    PyQtdeploy 用户指南 目录 介绍 与V1.0+的差异 作者 证书 安装 部署过程概览 PyQt的演示 构建演示 Android IOS Linux MacOS Windos 构建系统根目录 ...

  4. TensorFlow 官方文档 Programmer's Guide 中文翻译 —— 引言

    TensorFlow Programmer's Guide (Introduction) TensorFlow 编程手册 (引言) #(本项目对tensorflow官网上给出的指导手册(TF1.3版本 ...

  5. Intel® Threading Building Blocks (Intel® TBB) Developer Guide 中文 Parallelizing Data Flow and Dependence Graphs并行化data flow和依赖图

    https://www.threadingbuildingblocks.org/docs/help/index.htm Parallelizing Data Flow and Dependency G ...

  6. JavaScript Style Guide中文总结

    github原址:https://github.com/airbnb/javascript 类型*基本类型:包括string.number.boolean.null.undefined,存储的是值本身 ...

  7. QUICK START GUIDE

    QUICK START GUIDE This page is a guide aimed at helping anyone set up a cheap radio scanner based on ...

  8. ComponentSpace SAML v2.0 for .NET 使用介绍

    下载地址:http://samlsso.codeplex.com/ 以下描叙参考版本为其官网最新版本2.5.0.6.相对2.4版本,2.5有了很大改进,很多接口方法都变了.使用起来更方便,易懂. 广告 ...

  9. 【Other】最近在研究的, Java/Springboot/RPC/JPA等

    我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo ...

随机推荐

  1. 01-java前言、入门程序、变量、常量

    今日目标 能够计算二进制和十进制数之间的互转 能够使用常见的DOS命令 理解Java语言的跨平台实现原理 jvm是运行java程序的假想计算机,所有的java程序都运行在它上面.java编写的软件可以 ...

  2. 卷积神经网络之VGG

    2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比 ...

  3. 第65章 博客帖子 - Identity Server 4 中文文档(v1.0.0)

    第65章 博客帖子 65.1 团队帖子 65.1.1 2019 IdentityServer中的范围和声明设计 尝试使用IdentityServer4的设备流程 OAuth2中隐含流的状态 另一种保护 ...

  4. 访问者模式 Visitor 行为型 设计模式(二十七)

    访问者模式 Visitor    <侠客行>是当代作家金庸创作的长篇武侠小说,新版电视剧<侠客行>中,开篇有一段独白:  “茫茫海外,传说有座侠客岛,岛上赏善罚恶二使,每隔十年 ...

  5. 用CSS画一个带阴影的三角形的示例代码

    1. 思路 怎么用CSS3画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...

  6. HTML 练习淡入淡出

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 关于mui前端传值,springboot后台接收值的问题

    最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...

  8. RFID和QRCODE对比

    1.技术介绍 1.1 RFID 射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而 ...

  9. Ansible安装及简单使用备注

    1.安装epel源: rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 2.安装: yum ...

  10. WaitGroup

    WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组.团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行. 先说说Wait ...