Python的exe打包过程
1、创建虚拟环境,避免打包时包含全局模块,导致打包过大
- 命令: python -m venv venv
2、安装Pyinstaller模块
- 命令: pip install pyinstaller
3、在虚拟环境中安装外部依赖模块
4、利用Pyinstaller打包Python工程成exe文件
- 命令: pyinstaller -F -w -i favicon.ico app.py
pyinstaller命令参数说明:
参数 | 说明 |
---|---|
-h, --help | 显示帮助信息 |
-v, --version | 显示当前pyinstaller版本 |
–distpath DIR | 生成exe文件的路径,默认(./dist) |
–workpath WORKPATH | 生成exe文件过程中的临时工程文件如:.log、.pyz、.etc目录,默认(./build) |
-y, --noconfirm | 替换输出目录,默认为无需确认的:SPECPATH/dist/SPECNAME |
–clean | 清除pyinstaller缓存,在打包工程前删除临时文件 |
–log-level LEVEL | 生成时控制台消息中的详细信息量。LEVEL可以是TRACE、DEBUG、INFO、WARN、DEPRECATION、ERROR、FATAL(默认值:INFO)之一。也可通过PYI_LOG_LEVEL环境变量进行设置并覆盖该变量 |
-D, --onedir | 打一个包含可执行文件.exe的文件夹,里面会有动态链接库(.dll)等, 该选项为打包的默认模式 |
-F, --onfile | 只创建一个可执行文件.exe |
–specpath DIR | 用于存储生成的规范文件的文件夹(默认值:当前目录) |
-n NAME, --name NAME | 打包后的应用程序和规范文件的名称(默认值:第一个脚本的基本名称,如上例为app.exe) |
-c, --console, --nowindowed | 打包后文件显示标准 I/O(默认)的控制台窗口。在Windows上,如果第一个脚本是“.pyw”文件,则此选项无效。 |
-w, --windowed, --noconsole | Windows和Mac OS X:打包后文件不显示标准 I/O 的控制台窗口。在Mac OS上,这也会触发构建Mac OS应用程序捆绑包。在Windows上,如果第一个脚本是“.pyw”文件,则会自动设置此选项。此选项在*NIX系统上被忽略。 |
-i FILE.ico, --icon FILE.ico | 为可执行文件设置图标FILE.ico |
关于pyinstaller的参考资料:
How to Install PyInstaller — PyInstaller 6.2.0 documentation