当使用 PyInstaller 打包 Python 程序时,生成的 .exe 文件可能会非常大,特别是当程序依赖了多个大型库时。以下是一些减少打包大小和分包的方法,以及这些操作是否会影响启动速度的讨论。以下介绍几种常见的分包思路和方法。
1. 分析依赖并排除不必要的库
在打包前,需要明确程序真正需要的依赖库,排除那些不必要的库。可以使用 pipreqs
工具来生成项目所需的依赖列表。
安装 pipreqs
pip install pipreqs
生成依赖列表
在项目根目录下运行以下命令:
pipreqs .
这将在当前目录下生成一个 requirements.txt
文件,其中包含了项目实际使用的依赖库。然后在打包时,确保只包含这些必要的库。
2. 使用虚拟环境
虚拟环境可以隔离项目的依赖,确保打包时只包含项目所需的库。
创建虚拟环境
python -m venv myenv
激活虚拟环境
- Windows:
myenv\Scripts\activate
- Linux/Mac:
source myenv/bin/activate
安装项目依赖
在激活的虚拟环境中安装项目所需的依赖:
pip install -r requirements.txt
打包项目
在虚拟环境中使用打包工具进行打包,确保只包含虚拟环境中的依赖。
3. 拆分 Python 程序
这个本文的重点
将大型 Python 程序拆分成多个小的模块或脚本,然后分别打包这些模块,最后在主程序中动态加载这些模块。