PyQtdeploy-V2.4 User Guide 中文 (二)
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是完全可选的,但强烈建议使用。
开发可部署应用程序所需的步骤如下:
- 使用包含所需第三方组件的本机Python安装,正常开发和测试应用程序。
- 确定所需的第三方组件并构建特定于目标的sysroot。请参阅构建系统根目录以了解如何使用pyqtdeploy-sysroot执行此操作。
- 为应用程序创建项目文件,以标识应用程序的源代码以及应用程序使用的所有组件及其位置。请参阅创建pyqtdeploy项目以了解如何使用 pyqtdeploy执行此操作。
- 冻结Python模块并在特定于目标的构建目录中生成qmake
.pro
文件。该.pro
文件将引用相关sysroot中的所有必需组件。运行qmake然后 make以创建应用程序可执行文件。请参阅 构建应用程序以了解如何使用 pyqtdeploy-build执行此操作。
返回目录
PyQtdeploy-V2.4 User Guide 中文 (二)的更多相关文章
- IAP Store Kit Guide(中文)
IAP Store Kit Guide(中文) 一.In App Purchase概览 Store Kit代表App和App Store之间进行通信.程序将从App Store接收那些你想要提供的产品 ...
- js生成中文二维码
http://www.cnblogs.com/xcsn/archive/2013/08/14/3258035.html http://www.jb51.net/article/64928.htm 使用 ...
- PyQtdeploy-V2.4 User Guide 中文 (一)
PyQtdeploy 用户指南 目录 介绍 与V1.0+的差异 作者 证书 安装 部署过程概览 PyQt的演示 构建演示 Android IOS Linux MacOS Windos 构建系统根目录 ...
- 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中 ...
- SDL Guide 中文译版
SDL即Simple DirectMedia Layer,类似DirectX,是完整的游戏.多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的 ...
- iOS.Animations.by.Tutorials.v2.0汉化(二)
翻译自:iOS.Animations.by.Tutorials.v2.0 第一节(第1章) 动画属性 现在你已经看到了动画是多么的简单,你可能很想知道你的视图控件是怎么动起来的.本节将给你一个UIVi ...
- 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 ...
- Autodesk FBX SDK Program 中文 (二)
这是Autodesk FBX SDK学习笔记第二篇.下面部分汉字翻译自Autodesk FBX SDK Program.翻译人:有道翻译. 上一篇讲了一些FBX SDK的基本操作.创建FbxManag ...
随机推荐
- Python练习:哥德巴赫猜想
哥德巴赫猜想 哥德巴赫 1742 年给欧拉的信中哥德巴赫提出了以下猜想:任一大于 2 的偶数都可写成两个质数之和.但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,但是一直到死 ...
- 大数据技术之_19_Spark学习_02_Spark Core 应用解析小结
1.RDD 全称 弹性分布式数据集 Resilient Distributed Dataset它就是一个 class. abstract class RDD[T: ClassTag]( @tra ...
- Asp.Net Core中HttpClient的使用方式
在.Net Core应用开发中,调用第三方接口也是常有的事情,HttpClient使用人数.使用频率算是最高的一种了,在.Net Core中,HttpClient的使用方式随着版本的升级也发生了一些变 ...
- 深度学习与计算机视觉:基于Python的神经网络的实现
在前面两篇文章介绍了深度学习的一些基本概念,本文则使用Python实现一个简单的深度神经网络,并使用MNIST数据库进行测试. 神经网络的实现,包括以下内容: 神经网络权值的初始化 正向传播 误差评估 ...
- 5.2基于JWT的令牌生成和定制「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. Token生成 我们知道一旦我们给API添加[Authorize] ...
- openlayers4 入门开发系列之地图标绘篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- Flutter 即学即用系列博客——07 RenderFlex overflowed 引发的思考
背景 在进行 Flutter UI 开发的时候,控制台报出了下面错误: flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY >╞════════ ...
- 章节十、2-用Linktext和PartialLinkText、ClassName、TagName定位元素
一.通过内容的方式定位元素 使用Linktext和PartialLinkText定位元素的前提需要"文本"在“a”标签内,selenium才可以找到链接文本或者部分链接文本的元素. ...
- 关于ORACLE的各种操作~持续汇总~
增.删.改: 增加所有 INSERT INTO 表名 VALUES(序列名.NEXTVAL,'值1','值2','值3','值4','值5'); 指定增加 INSERT INTO 表名(字段1,字段2 ...
- 解决@ResponseBody注解返回的json中文乱码问题
1. 简介 主要解决@ResponseBody注解返回的json中文乱码问题. 2.解决方案 2.1mvc加上注解(推荐此方法) 在mvc配置文件中假如下面配置(写在 <mvc:annotati ...