Pyinstaller支持两种打包模式,一种是单位件的exe,适合功能简单,体积小的程序;另外一种是打包为文件夹,里边包含一个exe可以执行。
平时我们见到很多便携的单文件程序,比如我们写了一个小脚本,寥寥数行代码,打包成一个文件夹显然不合适,这就可使用Pyinstaller打包成一个exe
1、打包命令# 将 xx.py 打包为 xx.exe pyinstaller -F xx.py2、命令解析
-F表示打包为单文件,xx.py表示代码文件名为xx.py
3、示例这里我们编写一个示例代码,我就直接引用我的另一篇博文Python GUI-PySimplegui中的代码来编写一个GUI程序:
# 先安装 pip install pysimplegui
import 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.py pyinstaller -F test.py
最后提示xxx successfully就是成功了,别的不认识也没关系⬇️:
可以看到test.py目录下生成了build,dist,test.spec⬇️:
这里build文件夹是打包的过程文件,dist中即是我们打包出来的文件⬇️:
双击运行一下试试看⬇️:
运行成功!!!
说明我们打包成功了。最后看一下文件属性,大小约10M。
4、说明:其实单文件在执行的时候也是需要释放资源文件的,不过是释放在了系统默认的缓存位置,如果是软件稍复杂,那么打开就比较慢,这时候就不适合打包成单文件程序,而是打包为一个文件夹,点开执行
1、双击运行test.exe时,后边会出现一个黑框,也就是命令行,这个如果是GUI程序,我们就是需要去掉,可以在-F命令后增加w即可,具体可参见《python程序打包》第一节



