使用 Python 打包程序并制作 Windows 安装程序的完整指南
在开发 Python 应用程序后,将其分享给没有 Python 环境的用户时,直接分发源代码并不方便。本文将教你如何将 Python 脚本打包为 Windows 可执行文件(.exe),并进一步制作成一个具有安装向导的安装程序。
步骤 1: 使用 auto-py-to-exe
打包 Python 脚本
auto-py-to-exe
是一个用户友好的工具,用于将 Python 脚本打包为独立的可执行文件。以下是详细操作:
1.1 安装 auto-py-to-exe
在命令行中运行以下命令安装 auto-py-to-exe
:
pip install auto-py-to-exe
1.2 启动图形界面
安装完成后,运行以下命令启动 auto-py-to-exe
的图形界面:
auto-py-to-exe
1.3 配置打包选项
在弹出的图形界面中:
your_script.py
)。.ico
文件。点击 Convert .py to .exe,等待打包完成。打包成功后,生成的 .exe
文件通常位于 output
文件夹中。
1.4 测试生成的 .exe 文件
找到生成的 .exe
文件,双击运行,确保程序可以正常工作。如果一切正常,可以继续下一步。
步骤 2: 使用 Inno Setup 制作安装程序
为了将 .exe
文件打包成一个可安装的程序(带安装向导),我们使用专用工具 Inno Setup。
2.1 下载并安装 Inno Setup
- 前往 Inno Setup 官方下载页面 下载最新版本。
- 按照提示完成安装。
2.2 创建安装脚本
-
打开 Inno Setup,选择 “Create a new script file using the Script Wizard”。
-
按照向导填写信息:
-
Application Information:
- Application name:填写应用程序名称(如 “My App”)。
- Application version:填写版本号(如 “1.0”)。
- Application publisher:填写发布者名称(如 “My Company”)。
-
Application Files:
- 添加生成的
.exe
文件,例如C:\Users\YourName\output\your_program.exe
。 -
Application Shortcuts:
- 勾选 “Create a shortcut for this application”,并设置快捷方式名称。
-
Application Documentation:
- 可选:如果有许可协议文件或帮助文档,可以在此步骤中添加。
-
Setup Languages:
- 默认是英文安装界面,也可以选择其他语言。
-
Compiler Output:
- 设置生成安装程序的位置,例如
C:\Users\YourName\output\setup.exe
。 -
完成后,Inno Setup 会生成一个
.iss
文件(脚本文件)。
2.3 编译安装程序
- 点击 Inno Setup 界面顶部的 “Compile” 按钮。
- 编译完成后,在输出目录中找到生成的安装程序(如
setup.exe
)。
步骤 3: 测试安装程序
- 运行生成的
setup.exe
,按照提示完成安装。 - 检查以下内容:
- 是否正确安装到指定目录(如
C:\Program Files\YourApp
)。 - 是否生成桌面快捷方式。
- 程序是否能够正常运行。
额外提示
减少打包文件大小
如果打包后的文件过大,可以尝试以下方法:
- 在
auto-py-to-exe
中启用 “Advanced” 选项,手动排除不需要的依赖库。 - 确保只安装了实际需要的依赖。
自定义安装界面
Inno Setup 支持高度自定义,可以通过编辑 .iss
脚本来添加安装界面的背景图片、自定义文本等。
示例:为安装程序添加背景图片:
[Setup]
WizardImageFile=path\to\your\image.bmp
WizardSmallImageFile=path\to\your\small_image.bmp
更友好的用户体验
auto-py-to-exe
和 Inno Setup 中分别指定图标文件。总结
通过本文的指导,你可以轻松地将 Python 脚本打包为独立的可执行文件,并制作一个完整的安装程序,方便用户安装和使用。以下是核心步骤:
- 使用
auto-py-to-exe
将 Python 脚本打包为.exe
文件。 - 使用 Inno Setup 制作安装程序。
- 测试打包后的程序是否正常运行。
如果你对某些步骤有疑问,欢迎留言讨论!
作者:蜗牛沐雨