品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:pyqt 5.15.11
在使用Python做桌面开发时,PyQt框架支持跨平台、功能全面,是不少企业开发桌面软件的主流框架。在开发项目时,我们可能会遇到通用功能模块重复复用效率低、源码不能直接交付给无Python环境的用户。这就需要用PyQt生成动态库,相比【.py】文件,反编译动态库要难度更大,并且编译成exe后客户可以直接运行。本文将为大家介绍PyQt如何生成动态库,PyQt怎么生成可执行文件的相关内容。
一、PyQt如何生成动态库
如果有多个PyQt桌面项目同时开发,经常会出现重复开发的问题,比如自定义弹窗、串口通信组件、日志打印功能等通用模块,如果给每个项目都单独编写代码,就会造成代码冗余、一旦需要改动,所有涉及的代码都需要改动,维护成本高。这如果将PyQt通用模块生成动态库,就能实现一次开发、多次复用,大幅提高开发效率。PyQt动态库一般是【.pyd】文件,可直接被其他PyQt项目调用,下面我就为大家介绍一下PyQt生成动态库的步骤。

生成PyQt动态库无需复杂编译操作,需要借助setuptools相关的工具。可以使用命令【pip install --upgrade setuptools wheel pybind11】升级这三个编译打包的工具包到最新版本,这三个包是Python编译C/C++扩展、打包.whl库、生成.pyd动态库主要依赖。

还需要按功能整理模块,将能够复用的PyQt控件、功能函数单独写到一个py文件,专注于功能,不要出现冗余代码。还需与编写编译配置文件setup.py,配置模块名称、版本、依赖库、编译参数,需要声明PyQt核心依赖,防止编译后模块导入失败。

配置完成后,在终端执行【python setup.py build_ext --inplace】命令,系统会自动解析并编译,该过程需要gcc相关环境,最终的“产物”是pyd格式的文件,位于【build】文件夹下,这就是Python能直接导入调用的二进制动态扩展库。

最终就可以进行导入测试,可以尝试导入整个模块,模块导入成功后,逐个读取指定类、函数。如果输出“导入成功”,说明.pyd编译正常,可以直接集成到项目中使用。

二、PyQt怎么生成可执行文件
在Windows平台,生成可执行文件是打包成exe程序,可以借助PyInstaller,打包后的exe文件双击即可运行,不需要搭建Python环境,下面我就为大家介绍一下PyQt生成可执行文件的步骤。
1、使用【pip install pyinstaller】命令安装pyinstaller工具包。

2、执行打包命令,基础的命令是【pyinstaller -F -w xxx.py】,【-F】参数会打包成单个可执行文件,【-w】的目的是隐藏运行时的“黑框”,【xxx.py】是需要打包的py程序。在定制化开发时,还需要给软件设置图标,添加【-i xxxx.ico】参数并且指定ico图标文件的路径即可。

3、打包完成后,会输出在py文件所在的目录下的【dist】文件夹中,我们需要检查程序运行是否错误,无错误后即可交付。

三、总结
以上就是PyQt如何生成动态库,PyQt怎么生成可执行文件的相关内容。生成动态库后,其他程序可以动态调用,防止重复写代码,文中为大家介绍了编译生成pyd动态库的步骤,以及导入验证。交付之前,需要把PyQt打包成可执行文件,可以参考上文Windows环境中打包成exe的步骤,希望对你有所帮助。