0%

如何将Python的GUI程序封装为exe

创建虚拟环境 Virtual Environment

一般而言,我们得python脚本本身文件是很小的,常常几十KB,但编译后往往能达到几十MB甚至上百MB,主要原因是因为在编译过程中会把Python环境的标准库和所有的第三方库封装进exe文件中,如果我们的Python环境中安装了非常多的第三方库,就能导致编译后的exe文件体积臃肿,启动速度慢等问题。

为了降低文件大小,提高软件运行效率,我采用为项目文件单独创建虚拟环境的办法。根据项目文件的需要,有选择性的安装第三方库。经过测试以后,单独创建项目文件的虚拟环境后编译的可执行文件大小由原来的95MB减少到32MB,加载速度也提高了许多倍。

1
python -m venv venv  # 创建虚拟环境

创建完成后,我们会在创建的文件夹中发现以下三个文件夹。

此时,重新配置IDE的解释器,使虚拟环境生效,并pip安装脚本文件中所需要的第三方库即可。

安装编译工具 Pyinstaller

1.Pip安装

pyinstaller是python将脚本文件编译成exe可执行文件得开源工具包,而在Windows系统中,pyinstaller依赖于pywin32库。故在安装pyinstaller时,应检查本地是否安装pywin32。

1
2
3
pip install pywin32     # 安装pywin32库
pip install pyinstaller # 安装pyinstaller库

2.编译命令

  • 运行时出现dos命令窗口

    1
    pyinstaller -F demo.py # 编译单个文件

  • 运行时不出现命令窗口

1
pyinstaller -F -w demo.py # 编译单个文件
  • 替换默认的exe图标
    1
    2

    pyinstaller -F -w demo.py -i icon.ico# 编译单个文件

运行测试

封装好的程序会在dist目录,在分发给其他人以前,需要先简单测试以下程序的可用性。在这个过程中,比较好的方式是在命令行中启动,方便查看运行过程中报出的错误。