开发Pyqt程序最终使用是要打包成桌面运行程序,本次插播一篇打包教程。
一、PyInstaller、Nuitka两者区别
- PyInstaller本质是打包器(Packager),并非编译器;打包的文件启动较慢(需解压资源、加载解释器),运行速度与原生 Python 几乎一致。
- Nuitka本质是编译器(Compiler),更准确说是 “Python 转 C 编译器”。打包的文件通常能获得更快的启动速度和运行性能(尤其对计算密集型代码),因为绕过了部分解释开销,加密效果较好。
Nuitka打包的速度很慢,但是运行速快,打包的文件相比PyInstaller也小一些。首先安装编译环境,Nuitka 默认使用 MSVC(Microsoft Visual C++),推荐安装:Microsoft C++ Build Tools(免费,无需完整 Visual Studio)
然后进入python解释器执行如下指令:
pip install nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple
| |
| |
| --windows-disable-console | |
| |
| |
| |
nuitka --enable-plugin=tk-inter | |
| nuitka --enable-plugin=pyqt6 | |
| |
# 单文件、导出路径、加图标python -m nuitka --standalone --onefile --jobs=4 --output-dir="E:\python_project\packge" --windows-icon-from-ico="E:\python_project\packge\img\pdd_img.ico" .\statistic.py
# 使用pyqt6,单文件,禁用控制台python -m nuitka --onefile --enable-plugin=pyqt6 --windows-disable-console --jobs=4 --output-dir="E:\python_project\packge" --windows-icon-from-ico="E:\python_project\packge\search.ico" .\data_search_V2.py