本教程将打包教程分为两种:
一、单文件打包
假设你的项目中只有一个代码文件,名字为main.py(名字可以随意替换),目的是为了将当前的gui打包成一个可执行文件,同时也不需要控制台窗口,在安装好相应的包之后要进行下一步打包的时候不清楚怎么做,你只需要在终端输入命令:
pyinstaller -F -w main.py
二、多文件打包(分三步)
假设你的项目中有多个代码文件,架构如下所示:
主启动程序是main.py,项目架构中的.py文件都需要一起运行打包,目的是将整个项目打包成一个可执行文件(.exe),选用的方式是使用spec文件配置,步骤分为三步,
第一步
先生成spec文件,终端命令如下所示:
pyi-makespec -F -w main.py
第二步
在生成的spec文件进行详细的配置:
在a选项将所有需要打包的运行文件都写进配置,还有项目的本地路径。
在exe选项修改你需要的exe的名称,比如soundqt(后面不需要加后缀.exe);如果要打包的是一个gui程序,不需要控制台,则需要把console设置为False(默认是True,在上面的-w参数也是为了不生成控制台窗口)。
第三步
最后的打包命令,在终端输入:
pyinstaller main.spec
生成效果是:
而你需要的exe文件就在dist文件夹下,双击查看有无其他报错(有时候会有库不兼容或者缺少模块的情况),有则继续修改再打包。
打包教程结束。
-F -w 选项详情描述
补充描述:
-F和-w是两个常见的选项,用于指定生成的’.spec’文件的配置。而‘pyi-makespec’是‘pyinstaller’的一个工具,用于生成打包python应用程序的规范文件。
-F或–onefile这个选项将告诉pyinstaller将所有的python文件、依赖库、资源文件等打包成一个单独的可执行文件(exe),如果不使用这个选项,pyinstaller会将应用程序的各个部分分开打包成一个单独的可执行文件;
-w或–windowed/–noconsole这个选项适用于windows平台,它指定生成的可执行文件在运行时不显示控制台窗口(即命令行窗口)。这个选项通常用于打包GUI应用程序,以避免在用户界面之外出现一个黑色的控制台窗口。如果不使用-w选项,生成的可执行文件在运行时会显示控制台窗口。