使用pip安装pyinstaller
pip install pyinstaller
打包命令
pyinstaller -F 文件所在地址
比如我在此保存当前目录下的py文件
pyinstaller -F app.py
源文件所在目录将生成 dist 和 build 两个文件夹,其中build 目录是 pyinstaller 存储临时文件的目录,可以安全删除,dist目录中才有最终打包的exe文件
pyinstaller 常用选项
| -h,—help | 查看该模块的帮助信息 |
|---|---|
| -F,-onefile | 产生单个的可执行文件 |
| -D,—onedir | 产生一个目录(包含多个文件)作为可执行程序 |
| -a,—ascii | 不包含 Unicode 字符集支持 |
| -d,—debug | 产生 debug 版本的可执行文件 |
| -w,—windowed,—noconsolc | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
| -c,—nowindowed,—console | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
| -o DIR,—out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
| -p DIR,—path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
| -n NAME,—name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
将资源文件一起打包至exe中
首先需要生成spec文件,pyi-makespec -F test.py (如果要添加Icon等可以在这里就使用pyi-makespec —icon abc.jpg -F test.py语句生成spec文件)
pyi-makespec -F test.py
编辑spec文件,在datas选项中说明需要将哪些文件加入exe,在零时文件夹中命名成什么
以下图为例,意思将test.py当前目录下的res目录(及其目录中的文件)加入目标exe中,在运行时放在零时文件的根目录下,名称为res
生成EXE文件,pyinstaller -F test.spec
pyinstaller -F test.spec
