pipinstaller打包突然变大了好多
192 2025-03-16 18:00
使用 PyInstaller 打包后程序体积突然增大,可能是由于以下原因导致的:
- 引入了不必要的依赖库:PyInstaller 会将环境中安装的所有依赖库打包进生成的可执行文件中。
- 使用了 Anaconda 环境:Anaconda 环境中包含大量默认安装的库,这些库可能会被误打包。
- 未对文件进行压缩:未对 Python 解释器或依赖库的二进制文件进行压缩。
以下是解决 PyInstaller 打包体积过大的方法:
1. 使用虚拟环境
通过创建纯净的虚拟环境,只安装项目所需的依赖库,避免打包不必要的模块。
- 安装
pipenv
:pip install pipenv
- 在项目目录下创建虚拟环境并激活:
pipenv install pipenv shell
- 在虚拟环境中安装项目所需的依赖库和 PyInstaller:
pip install pyinstaller pip install <项目所需依赖库>
- 使用 PyInstaller 打包:
pyinstaller --onefile your_script.py
2. 使用 UPX 压缩
UPX(Ultimate Packer for eXecutables)可以对生成的可执行文件进行压缩,从而减小体积。
- 下载 UPX 并解压到项目目录下:
UPX 下载地址 - 使用 UPX 压缩打包:
pyinstaller --onefile --upx-dir=<UPX解压路径> your_script.py
3. 排除不必要的模块
在 PyInstaller 的 .spec
文件中,通过 excludes
参数显式排除不需要的模块。
- 修改
.spec
文件中的Analysis
部分,添加excludes
参数:excludes=['tkinter', 'tests', 'docutils', 'unittest', 'pylint', 'matplotlib', 'numpy']
- 使用
.spec
文件重新打包:pyinstaller your_script.spec
4. 检查代码和资源文件
- 确保代码中没有引入不必要的库。
- 减少代码中的重复内容。
- 如果项目中包含大量资源文件(如图片、音频等),可以考虑将这些文件单独存储,而不是打包到可执行文件中。
通过以上方法,可以有效减小 PyInstaller 打包后的程序体积。
全部评论