使用 PyOxidizer 将上述代码编译为 Windows 可执行文件,可以按照以下步骤进行:
一、准备工作
- 确保已经安装了 PyOxidizer 和 Rust 开发环境,如前文所述。
二、创建 PyOxidizer 配置文件
- 创建一个名为
pyoxidizer.toml
的配置文件,内容如下:
[build]
name = "ExcelMerger"
target_triple = "x86_64-pc-windows-msvc"
strip = true
debug = false
[settings]
include_python = false
python_version = "3.11"
[bundles.executable]
name = "ExcelMerger.exe"
entry_point = "<your_script_name>.py"
resources = [
"icon.ico", # 如果有自定义图标,可以添加在这里
]
[settings.artifact_paths]
executable = "target/${build_configuration}/${target_triple}/release/ExcelMerger.exe"
将<your_script_name>.py
替换为包含上述代码的 Python 脚本文件名。如果有自定义图标文件icon.ico
,可以放在与配置文件相同的目录下,并在配置文件中指定。
这段配置文件是用于 PyOxidizer 来构建一个名为 “ExcelMerger” 的项目,以下是对其的详细解释:
一、[build] 部分
name = "ExcelMerger"
:指定了构建的项目名称为 “ExcelMerger”。target_triple = "x86_64-pc-windows-msvc"
:表明目标平台是 64 位 Windows 系统,使用 Microsoft Visual C++(MSVC)工具链。strip = true
:在构建过程中会去除不必要的调试信息,减小最终生成的可执行文件的大小。debug = false
:表示不进行调试构建,通常会进行优化以提高性能。
二、[settings] 部分
include_python = false
:指示在构建过程中不包含完整的 Python 解释器。这可能是因为你的程序有特定的 Python 环境要求或者其他原因。python_version = "3.9.5"
:指定了目标 Python 版本为 3.9.5,这可能会影响到一些与 Python 相关的兼容性和依赖项。
三、[bundles.executable] 部分
name = "ExcelMerger.exe"
:确定生成的可执行文件的名称为 “ExcelMerger.exe”。entry_point = "cwhui2.3.py"
:指定了项目的入口点为 “cwhui2.3.py” 文件,即程序启动时会执行这个 Python 脚本。resources = [ "1.ico" ]
:如果存在一个名为 “1.ico” 的图标文件,可以将其作为可执行文件的图标。
四、[settings.artifact_paths] 部分
executable = "target/${build_configuration}/${target_triple}/release/ExcelMerger