一、简单介绍
1.1 PyInstaller
定位:Python 专属的打包工具,用于将 Python 脚本转换为独立的可执行文件(.exe、.app 等)。
核心功能
-
将 Python 脚本、依赖库(如 numpy、requests 等)、Python 解释器打包成一个或多个可执行文件,无需目标设备安装 Python 环境即可运行。
-
支持多平台(Windows、macOS、Linux),可根据运行环境生成对应系统的可执行文件。
-
提供两种打包模式:
-
单文件模式(
--onefile
):所有内容整合为一个独立的可执行文件,方便分发但启动速度稍慢。 -
文件夹模式(默认):生成一个包含可执行文件和依赖文件的文件夹,启动速度较快。
-
1.2 Enigma Virtual Box
定位:通用的文件虚拟化工具,用于将多个文件(可执行文件、DLL、资源文件等)整合为一个独立的可执行文件。
核心功能
-
通过 “文件虚拟化” 技术,将程序运行所需的所有文件(如主程序.exe、依赖的.dll、图片、配置文件等)打包成一个单独的可执行文件。
-
运行时,打包的文件会被虚拟加载到内存中,不向硬盘写入临时文件,保持原始文件结构和功能不变。
-
支持任何类型的程序(不限于 Python),如 C/C++、Java(打包后的.jar)、.NET 等开发的程序。
1.3 配合使用示例
-
用 PyInstaller 将 Python 脚本打包为可执行文件(如
myapp.exe
),此时可能生成一个包含myapp.exe
和多个依赖文件的文件夹。 -
用 Enigma Virtual Box 将该文件夹中的所有文件(
myapp.exe
、依赖 DLL、配置文件等)整合为一个单独的myapp.exe
,进一步简化分发。
二、安装PyInstaller
PyInstaller官方网站:PyInstaller Manual — PyInstaller 6.15.0 documentation
要安装 PyInstaller,你可以使用 Python 的包管理工具 pip 来完成,步骤如下:
1、首先确保你已经安装了 Python 和 pip,可以在命令行中输入以下命令验证是否安装:
python --version
pip --version
2、安装 PyInstaller,在win+r,cmd命令行中执行以下命令:
pip install pyinstaller
3、验证安装是否成功:
pyinstaller --version
三、安装Enigma Virtual Box
Enigma Virtual Box官方网站:Software Protection, Software Licensing, Software Virtualization
下载后一直点击下一步即可。
四、实现具体步骤
4.1 用 PyInstaller 将 Python 脚本打包为可执行文件
刚开始的时候是这样的
应用程序图标(logo.ico)是放在可执行程序里面的资源。
可以在PyInstaller创建可执行程序时,通过参数 --icon="logo.ico"
指定。
在命令框输入以下指令:
pyinstaller main.py --noconsole --hidden-import PySide6.QtXml --icon="logo.ico"
最好把打包后生成的文件重新放入一个文件夹内,然后,把程序所需要的资源文件,比如 图片、excel、ui等拷贝到打包dist/main目录中,因为PyInstaller 仅能自动识别程序运行所需的代码文件,而对于程序在运行过程中动态调用的资源文件,它则无法主动检测到。
最终生成:
使用的时候要下一个文件夹,太麻烦了,于是!接着往下看
4.2 用 Enigma Virtual Box 将该文件夹中的所有文件整合为一个单独的 .exe
1、打开Enigma Virtual Box工具,选择刚才新建目录的main.exe文件
2、将包含资源的整个文件夹添加进来
3、选择压缩
最后点击Process生成一个新的main_boxed.exe文件,点击即可运行。