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 ...
随机推荐
- HTTP 视频怎么在 MIP 页面中使用?
在 MIP 中,一些资源的使用需要支持 HTTPS,视频就是其中一种.但目前大部分站点的视频资源都还是 HTTP 的资源,无法在百度 MIP 搜索结果中直接使用, mip-video 视频组件针对 H ...
- 女皇武则天:我不愿被 extends
01. 利用继承,我们可以基于已存在的类构造一个新类.继承的好处在于,子类可以复用父类的非 private 的方法和非 private 成员变量. is-a 是继承的一个明显特征,就是说子类的对象引用 ...
- C#判断字符串是不是英文或数字
利用正则. u4e00-u9fa5; //中文 ^[A-Za-z]+$ //英文字母 //截取冲击式样形状 public string SubStringForXingZhuang(strin ...
- Winform/WPF中内嵌BeetleX的HTTP服务
在新版本的BeetleX.FastHttpApi加入了对netstandard2.0支持,如果程序基于.NetFramework4.6.1来构建WinForm或WPF桌面程序的情况下可以直接把Beet ...
- Spring Boot入门(五):使用JDBC访问MySql数据库
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序开发的过程中,操作数据库是必不可少的部分,前面几篇博客中,也一直未涉及到数据库的操作,本篇博客 就 ...
- Python调用ansible API系列(四)动态生成hosts文件
方法一:通过最原始的操作文件的方式 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 通过操作文件形式动态生成ansib ...
- C# 添加Excel表单控件(Form Controls)
在Excel中,添加的控件可以和单元格关联,我们可以操作控件来修改单元格的内容,在下面的文章中,将介绍在Excel中添加几种不同的表单控件的方法,包括: 添加文本框(Textbox) 单选按钮(Rad ...
- JavaScript对象类型判断注意点
注意点 不要使用 new Number() . new Boolean() . new String() 创建包装对象:用 parseInt() 或 parseFloat() 来转换任意类型到numb ...
- Web前端-Ajax基础技术(下)
Web前端-Ajax基础技术(下) 你要明白ajax是什么,怎么使用? ajax,web程序是将信息放入公共的服务器,让所有网络用户可以通过浏览器进行访问. 浏览器发送请求,获取服务器的数据: 地址栏 ...
- Android之PhotoView使用
文章大纲 一.什么是PhotoView二.代码实战三.项目源码下载 一.什么是PhotoView 一款 ImageView 展示框架,支持缩放,响应手势,位于图片排行榜的第五位,PhotoView ...