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