Python 使用 pyinstaller 等工具打包成 EXE 文件时,经常会遇到文件过大的问题。本文总结了几个导致 Python EXE 文件过大的主要原因及解决方法。
Python 的应用通常需要依赖很多第三方库,如果全部打包进 EXE,无疑会造成文件极大的增大。
解决方法:
- 只打包真正需要的依赖,去除不需要的依赖。可以使用 --exclude-module 参数排除不需要的库。
- 尽量使用编译后的库,而不是源代码,如 numpy,scipy 等。
默认打包时会将 Python 解释器一起打包,这也是文件过大的主要原因之一。
解决方法:
- 使用 --onefile 参数,只打包代码和依赖,不打包 Python 解释器。
- 选择一个较小的 Python 环境,如 Miniconda 而不是 Anaconda。
解决方法可以在打包参数中加入 --compress 以启用压缩,这也可以大大减小文件大小。
解决方法在打包参数中加入 --debug false 可以去除 Debug 信息,减小文件大小。
如果程序使用了过大的资源文件,也会导致 EXE 文件过大。
解决方法是不将资源文件打包到 EXE中,而是单独分发。
总之,通过选择必要的依赖,去除不需要的内容,压缩和不包含 Debug 信息可以显著减小 Python EXE 文件大小。