Pyinstaller支持两种打包模式,一种是单位件的exe,适合功能简单,体积小的程序;另外一种是打包为文件夹,里边包含一个exe可以执行。
平时我们见到很多便携的单文件程序,比如我们写了一个小脚本,寥寥数行代码,打包成一个文件夹显然不合适,这就可使用Pyinstaller打包成一个exe
1、打包命令# 将 xx.py 打包为 xx.exepyinstaller -F xx.py
2、命令解析-F表示打包为单文件,xx.py表示代码文件名为xx.py
3、示例这里我们编写一个示例代码,我就直接引用我的另一篇博文Python GUI-PySimplegui中的代码来编写一个GUI程序:
# 先安装 pip install pysimpleguiimport PySimpleGUI as sg layout = [[sg.Text('请输入内容:')], [sg.InputText()], [sg.Submit('确认'), sg.Cancel('取消')]] window = sg.Window('Demo示例', layout) event, values = window.read() text_input = values[0] sg.popup('你输入了:', text_input)
运行效果是这样的⬇️:
运行打包命令⬇️:
# 文件名:test.pypyinstaller -F test.py
最后提示xxx successfully就是成功了,别的不认识也没关系⬇️:
可以看到test.py目录下生成了build,dist,test.spec⬇️:
这里build文件夹是打包的过程文件,dist中即是我们打包出来的文件⬇️:
双击运行一下试试看⬇️:
运行成功!!!
说明我们打包成功了。最后看一下文件属性,大小约10M。
4、说明:其实单文件在执行的时候也是需要释放资源文件的,不过是释放在了系统默认的缓存位置,如果是软件稍复杂,那么打开就比较慢,这时候就不适合打包成单文件程序,而是打包为一个文件夹,点开执行
1、双击运行test.exe时,后边会出现一个黑框,也就是命令行,这个如果是GUI程序,我们就是需要去掉,可以在-F命令后增加w即可,具体可参见《python程序打包》第一节