You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何缩小cx_Freeze打包的Python/QML应用体积及解决启动问题

cx_Freeze打包PySide6/QML应用的体积优化与启动问题解决

一、清理PySide6冗余文件缩小安装包体积

1. 配置cx_Freeze排除无用模块

在setup.py中通过excludes参数剔除未使用的Qt模块,比如WebEngine、多媒体组件等,示例配置:

from cx_Freeze import setup, Executable
import sys

base = "Win32GUI" if sys.platform == "win32" else None

executables = [Executable("main.py", base=base)]

setup(
    name="YourApp",
    version="1.0",
    description="Your application description",
    executables=executables,
    options={
        "build_exe": {
            "excludes": [
                "PySide6.QtWebEngine",
                "PySide6.QtWebEngineCore",
                "PySide6.QtWebEngineWidgets",
                "PySide6.QtMultimedia",
                "PySide6.QtMultimediaWidgets",
                # 根据实际使用情况补充更多未用到的模块
            ],
            "include_files": ["qml/"]  # 务必包含你的QML资源目录
        }
    }
)

2. 手动清理打包后的PySide6目录

打包完成后,进入lib/PySide6目录,删除以下冗余文件:

  • 所有*.qmlc、*.jsc文件(若QML已提前编译或无需保留源文件)
  • plugins/platforms目录下仅保留qwindows.dll,删除其他平台的插件文件(如qlinuxfb.dll、qminimal.dll)
  • translations目录下仅保留你需要的语言包(如中文、英文),其余*.qm文件全部删除
  • 所有*.pdb调试符号文件,不影响程序正常运行

3. 优化PySide6安装环境

使用pip install --no-cache-dir PySide6重新安装PySide6,避免缓存的冗余文件被打包进安装包。

二、解决全新Windows系统无法启动的问题

从报错提示来看,程序缺少Visual C++ Redistributable运行库(VCRUNTIME140.dll、VCRUNTIME140_1.dll),可通过以下两种方式解决:

1. 打包时嵌入VC++运行库

在setup.py的include_files中添加对应版本的VC++运行库文件,文件路径通常在Visual Studio安装目录下,示例配置:

"include_files": [
    "qml/",
    ("C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Redist/MSVC/14.29.30133/x64/Microsoft.VC142.CRT/vcruntime140.dll", "vcruntime140.dll"),
    ("C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Redist/MSVC/14.29.30133/x64/Microsoft.VC142.CRT/vcruntime140_1.dll", "vcruntime140_1.dll"),
    ("C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Redist/MSVC/14.29.30133/x64/Microsoft.VC142.CRT/msvcp140.dll", "msvcp140.dll")
]

注意:请根据你的PySide6编译版本和系统位数(x86/x64)选择对应路径的运行库。

2. 引导用户安装VC++运行库

在应用安装包中附带对应版本的vc_redist.x64.exe(或x86版本),或者提示用户从微软官网下载安装Visual Studio 2019及以上版本的VC++ Redistributable运行库。

内容的提问来源于stack exchange,提问作者WITC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:47:23