当前位置: 首页 > news >正文

Windows下使用PyInstaller打包PyQt项目

在 Windows 环境下,使用 PyQt 开发的项目可以通过多种工具打包成 可执行文件(.exe),以下是几种常见的方法及详细步骤:


1. 使用 PyInstaller

PyInstaller 是最常用的 Python 打包工具,支持 PyQt5/PyQt6/PySide6,适用于 Windows、macOS 和 Linux。

步骤

(1) 安装 PyInstaller
pip install pyinstaller
(2) 基本打包命令
pyinstaller -F -w --icon=app.ico main.py
  • -F:打包成单个 .exe 文件(可选,默认生成文件夹)。

  • -w:隐藏控制台(适用于 GUI 程序)。

  • --icon=app.ico:设置应用程序图标(可选)。

  • main.py:你的 PyQt 主程序入口文件。

  • 如果使用的是PyQt的WebEngine模块,可能需要添加--windowed参数(对于GUI应用)以及正确处理WebEngine的依赖项。

  • pyinstaller --windowed --onefile your_script.py
(3) 处理资源文件(图片、数据库等)

如果你的项目使用了外部资源(如 .png.db),需要在打包时指定路径:

pyinstaller --add-data "images;images" --add-data "data.db;." main.py

或者在 .spec 文件中配置:

a = Analysis(['main.py'],datas=[('images/*', 'images'), ('data.db', '.')],  # (源路径, 打包后路径)...
)
(4) 生成 .spec 文件(高级配置)
pyinstaller --onefile --windowed --icon=app.ico main.py

这会生成 main.spec,可手动修改后再运行:

pyinstaller main.spec
(5) 最终输出
  • dist/ 目录下生成 .exe 文件。

  • build/ 目录包含临时文件(可删除)。

http://www.dtcms.com/a/323556.html

相关文章:

  • 第15届蓝桥杯Scratch图形化省赛中级组2024年8月24日真题
  • 4深度学习Pytorch-神经网络--损失函数(sigmoid、Tanh、ReLU、LReLu、softmax)
  • Linux-JSON Schema
  • Java类和对象课上练习题目设计
  • LLM 的向量的方向表示语义,向量长度表示什么
  • Docker容器lnmp平台部署discuz论坛
  • 工具类-高效集合差异计算工具DiffWrapper
  • visual studio 无明显错误,但是无法编译成功解决—仙盟创梦IDE
  • C++入门自学Day7-- String类的自实现
  • Adapting Vision-Language Models Without Labels A Comprehensive Survey
  • RWKV与VRWKV
  • Filter,Interceptor拦截器-登录校验
  • visual studio 字体设置
  • 【小米比笔记本Pro15.6】>>Stasrt PXE over IPv6,Press [Esc] to EXIT...
  • 第二十天:余数相同问题
  • 信息安全简要
  • 分布式锁详解及 Spring Boot 实战示例
  • Redis 持久化策略深度剖析:从原理到实战,守护数据不丢失
  • 基于 InfluxDB 的服务器性能监控系统实战(二)
  • [论文阅读] 人工智能 + 软件工程 | Posterior-GRPO:优化代码生成推理过程的新框架
  • Solana上Launchpad混战:新颖性应被重视
  • 云服务器--阿里云OSS(1)【阿里云OSS简单介绍以及环境准备】
  • 论文学习21:Pyramid Scene Parsing Network
  • AG32cpld实现一个UartTx“外设”
  • 莫比乌斯反演学习笔记
  • Qt 元对象系统中的 QMetaObject 类和他的invokeMethod() 函数及其他常见函数应用详解​
  • MoVA:多模态视觉专家混合架构的创新设计与应用实践
  • 【能碳建设2】把“能碳计算”做成可配置、可演示的系统
  • codeforces 补题1
  • FAN5622SX 四通道六通道电流吸收线性LED驱动器,单线数字接口 数字式调光, 2.7 → 5.5 V 直流直流输入, 30mA输出FAN5622S