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/mailman/listinfo/pyqt*上的pyqt邮件列表获得支持 。
证书
pyqtdeploy是根据bsd许可证发布。
安装
pyqtdeploy可以从pypi中下载并安装:
pip3 install pyqtdepoly
pyqtdeploy需要安装pyqt5,它并不是自动安装的。
返回