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