首页 > 解决方案 > 如何减少 Python 项目的 Pyinstaller 构建时间?

问题描述

我有一个包含多个源包/文件的 Python 项目,它还使用numpy、scipy、pandas等包。
此外,我正在使用Pyinstaller onefile模式将项目打包到单个可执行文件中,并且我正在尝试减少Pyinstaller 生成可执行文件所消耗的时间
首先 Pyinstaller 花了大约 20 分钟来捆绑,大部分时间是由“gevent”模块的钩子占用的。我排除了 gevent 模块(因为它不是一个真正使用过的模块),它可以节省 8-10 分钟的时间。
我还注意到,首先生成并保存“Analysis.toc”build 目录中的文件可以减少连续运行中分析阶段所花费的时间(假设第一次运行后没有添加其他源)。
减少 pyinstaller 打包时间的系统方法有哪些?保存一次生成的Analysis.tc文件并重新使用它是否足够安全?

标签: pythonpyinstaller

解决方案


首先使用它创建一个 venvpython -m venv <env_name>对于 pyinstaller 项目尤其需要它,它不捆绑您可能不需要但已安装在系统上的附加可选模块。这将减少您的文件大小以及捆绑您的应用程序所需的时间。这是您实现目标的重要一步。

其次使用命令创建规范文件pyi-makespec options name.py。查看生成的规范文件,该文件将被命名name.spec并确保添加了所有必需的模块并且不包含不需要的模块并保存它。

一旦您根据需要获得了您的规范文件,您可以使用该命令多次创建您的应用程序pyinstaller options name.spec


推荐阅读