Skip to content

Python 的 .exe 体积压缩

要将用 Python 开发的 .exe 文件的体积压缩得更小,你可以采取以下几种方法:1. 使用 PyInstaller 时进行优化

如果你是用 PyInstaller 来打包 .exe 文件的,可以通过以下几个方式来减小体积:a. 使用 –onefile 参数

PyInstaller 默认会生成多个文件,一个包含所有依赖的 .exe 文件和其他资源。使用 –onefile 参数会将所有文件打包成一个单独的 .exe 文件:bash

复制

编辑

pyinstaller –onefile your_script.py

b. 使用 –noconsole 参数(仅适用于 GUI 应用)

如果你的应用是图形界面的,不需要命令行窗口,可以加上 –noconsole 参数,避免引入不必要的控制台依赖:bash

复制

编辑

pyinstaller –onefile –noconsole your_script.py

c. 使用 –exclude-module 排除不必要的模块

在打包过程中,如果你知道某些模块不会用到,可以使用 –exclude-module 参数来排除它们:bash

复制

编辑

pyinstaller –onefile –exclude-module tkinter your_script.py

d. 使用 UPX 压缩 .exe

PyInstaller 可以与 UPX(一个可执行文件压缩工具)结合使用来压缩生成的 .exe 文件。你需要先安装 UPX,然后在打包时使用 –upx-dir 参数指定 UPX 的路径:下载并安装 UPX:UPX 官网

使用 –upx-dir 参数:

bash

复制

编辑

pyinstaller –onefile –upx-dir /path/to/upx your_script.py

UPX 压缩后会显著减小文件体积,但有时可能会导致病毒扫描软件误报。2. 使用 cx_Freeze

如果你更倾向于使用其他工具来打包 .exe,可以尝试 cx_Freeze,它也是一个流行的 Python 打包工具。通常,它会生成比 PyInstaller 更小的可执行文件,但功能上可能稍微受限。你可以通过调整其打包选项来减小文件大小。3. 使用 PyOxidizer

PyOxidizer 是一个较新的 Python 打包工具,专门优化了可执行文件的大小。它支持将 Python 程序打包成静态链接的 .exe 文件。PyOxidizer 通常能生成比 PyInstaller 更小的文件,但配置起来稍微复杂一些。4. 删除不必要的资源和文件

如果你在项目中包含了大量的资源文件、图片或其他依赖,这些文件会增加 .exe 的体积。检查你的项目,删除任何不必要的文件,或者将它们放到外部资源中而不是直接打包到 .exe 文件中。5. 使用 Nuitka

Nuitka 是一个将 Python 代码转换为 C 语言并编译成二进制文件的工具,生成的 .exe 文件通常比 PyInstaller 的文件小。你可以试试 Nuitka:bash

复制

编辑

nuitka –standalone –onefile your_script.py

6. 避免过度的依赖

最后,减少你的项目所依赖的第三方库数量,有时候一个庞大的第三方库会引入大量不必要的依赖,导致 .exe 文件过大。你可以通过精简依赖、只使用需要的部分来减小文件体积。通过这些方法,你可以有效地减小 Python 打包生成的 .exe 文件的体积。

Leave a Reply