打包瘦身脚本
本脚本用于减小由PyInstaller、Nuitka或Python embeddable构建生成的包的大小,通过选择性地删除未使用的文件来实现。
当Python程序运行时,会锁定或占用它需要的文件。通过在运行Python程序的同时运行此脚本,可以识别并删除当前未被使用的文件,从而达到筛选出程序不需要的文件的目的。
- 运行打包好的程序:启动你自己打包好的程序(可以是用PyInstaller、Nuitka或Python embeddable构建打包的),尽量让所有功能都处于开启状态。
- 执行瘦身脚本:运行本脚本,并指定程序所在的目录。脚本会自动遍历指定目录下的所有文件。如果发现某个文件未被占用,则认为该文件对程序来说是非必需的,并将其移动到
_new
目录中。 - 检查与恢复:完成文件移动后,关闭自己的程序,然后再次运行。如果遇到缺少文件的提示,可以根据《文件移动清单.txt》中的记录找到并恢复所需的文件。
- 对于PyInstaller打包的程序,体积大约可以减少50%。
- 对于Nuitka和Python embeddable构建打包的程序,体积大约可以减少30%。
- 本脚本尚未完全优化,对于某些对程序至关重要但在运行时并未被占用的文件,需要将其添加到白名单中。首次运行时会自动生成一个
white_files.json
文件,请根据具体情况调整此列表。 - 目前仅在Win7/Win11上进行了测试,确认功能正常。
- 若python3.8无法直接运行main.py源代码,请从Releases页下载发布版。
观看这里获取详细的使用教程。
- 运行你的Python程序,充分执行该程序,尽量运行所有功能(完成调用第三方库的代码块运行)。
- 在另一个命令行窗口中运行
main.py
。 - 根据输出的信息进行后续操作。
python main.py
欢迎任何形式的贡献!如果你发现了问题或者有改进的想法,请提交issue或pull request。
本项目采用MIT许可证。请参阅LICENSE文件以获取更多详情。