PyQtdeploy-V2.4 User Guide 中文 (一)
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 中文 (一)的更多相关文章
- IAP Store Kit Guide(中文)
IAP Store Kit Guide(中文) 一.In App Purchase概览 Store Kit代表App和App Store之间进行通信.程序将从App Store接收那些你想要提供的产品 ...
- SDL Guide 中文译版
SDL即Simple DirectMedia Layer,类似DirectX,是完整的游戏.多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的 ...
- PyQtdeploy-V2.4 User Guide 中文 (二)
PyQtdeploy 用户指南 目录 介绍 与V1.0+的差异 作者 证书 安装 部署过程概览 PyQt的演示 构建演示 Android IOS Linux MacOS Windos 构建系统根目录 ...
- TensorFlow 官方文档 Programmer's Guide 中文翻译 —— 引言
TensorFlow Programmer's Guide (Introduction) TensorFlow 编程手册 (引言) #(本项目对tensorflow官网上给出的指导手册(TF1.3版本 ...
- 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 ...
- JavaScript Style Guide中文总结
github原址:https://github.com/airbnb/javascript 类型*基本类型:包括string.number.boolean.null.undefined,存储的是值本身 ...
- QUICK START GUIDE
QUICK START GUIDE This page is a guide aimed at helping anyone set up a cheap radio scanner based on ...
- ComponentSpace SAML v2.0 for .NET 使用介绍
下载地址:http://samlsso.codeplex.com/ 以下描叙参考版本为其官网最新版本2.5.0.6.相对2.4版本,2.5有了很大改进,很多接口方法都变了.使用起来更方便,易懂. 广告 ...
- 【Other】最近在研究的, Java/Springboot/RPC/JPA等
我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo ...
随机推荐
- 第四次作业—— 性能测试(含JMeter实验)
一.回答下述问题 1.性能测试有几种类型?它们之间什么关系? 答:性能测试根据其不同的测试目的分为以下几类. (1)性能验证测试:验证系统是否达到事先已定义的系统性能指标.能否满足系统的性能需求.这种 ...
- Spark学习之键值对操作总结
键值对 RDD 是 Spark 中许多操作所需要的常见数据类型.键值对 RDD 通常用来进行聚合计算.我们一般要先通过一些初始 ETL(抽取.转化.装载)操作来将数据转化为键值对形式.键值对 RDD ...
- Docker入门学习
Python爬虫 最近断断续续的写了几篇Python的学习心得,由于有开发经验的同学来说上手还是比较容易,而且Python提供了强大的第三方库,做一个小的示例程序还是比较简单,这不我之前就是针对Pyt ...
- angular2-7中的变化监测
最近做公司新项目用的angular7,中碰到了一个很头疼的问题在绑定对象中的数据改变时,页面视图没有跟新,需点击页面中的时间元素后才会更新.以前使用angularJs也经常碰到类似情况,这种时候一 ...
- java并发编程(2) --Synchronized与Volatile区别
Synchronized 在多线程并发中synchronized一直是元老级别的角色.利用synchronized来实现同步具体有一下三种表现形式: 对于普通的同步方法,锁是当前实例对象. 对于静态同 ...
- redis的bigkey扫描脚本
众所周知,redis里面的大key存在是非常危险的一件事情.因为最近的工作转移到中间件相关的工作,因此关注了一下bigkey的扫描方法.首先介绍一下阿里云提供的扫描脚本: 具体可见:https://y ...
- DSAPI 提取中间文本(字符串)
提取中间文本(源文本 As String, 前导文本 As String, 结束文本 As String, Optional 移除文本 As String = "", Option ...
- 使用bootstrap table 数据绑定
1.最近一直在用bootstrap table 这个前端框架做项目,下面是使用bootstrap table 的一些总结 这个使用.Net 中MVC做的: 2.这个是基本的boostrap table ...
- 2018-01-12 Antlr4添加中文变量赋求值,括号,各种问题
中文编程知乎专栏原文地址 例程(更多测试用例在此): 基数=100 基数×(基数+1)÷2 => 求值为5050 续上文Antlr4实现数学四则运算, 修改的语法规则部分: 程序: 声明+; 声 ...
- 数据库原理 - 序列3 - 事务是如何实现的? - Redo Log解析
6.5 事务实现原理之1:Redo Log 介绍事务怎么用后,下面探讨事务的实现原理.事务有ACID四个核心属性:A:原子性.事务要么不执行,要么完全执行.如果执行到一半,宕机重启,已执行的一半要回滚 ...