Python打包exe文件完整指南:PyInstaller安装与两种打包方式详解
本文详细介绍如何使用PyInstaller将Python脚本打包为Windows可执行文件exe。内容涵盖PyInstaller的安装与版本检查、两种主流打包路径操作(指定输出目录与源文件目录),以及如何通过命令行参数添加自定义图标、隐藏控制台窗口。附带完整的命令参数解释,帮助开发者高效完成Python应用的发布与分发。
前言
作者主要学习背景为C/C++,这是其撰写的第一篇关于Python技术的文章,恳请读者多多指教。
将Python代码打包为exe文件的主要目的是解决环境依赖问题。直接传输源代码需要接收方配置相同的运行环境才能编译执行,而打包后的exe文件如同普通软件,双击即可运行,便于分享。需要注意的是,exe文件反编译难度较大,因此在正式发布前务必进行充分测试。
在版本选择上,建议优先使用Python 3.6及以上版本的32位架构。这是因为Windows 64位系统向下兼容32位程序,打包出的exe在64位和32位Windows上均可运行。若仅面向64位系统用户,也可直接使用64位Python版本进行打包,但生成的exe将无法在32位系统上运行。
接下来的内容将从安装PyInstaller开始,详细介绍具体的打包操作流程,最后对常用命令进行解释。
本次教程不使用传统的CMD命令提示符,而是推荐使用Windows PowerShell(x86版本)。请务必以“管理员身份”运行PowerShell。此外,建议准备.ico格式的图片作为程序图标,若只有其他格式图片,需提前进行格式转换。
一、安装PyInstaller
1.1 安装PyInstaller,执行以下安装命令:
pip3 install pyinstaller

1.2 若遇到版本冲突或需要更新,请执行以下命令:
pip install --upgrade pyinstaller
1.3 验证安装是否成功,执行检查命令。

至此,安装过程看似已完成。
1.4 补充说明:
Python打包工具众多,推荐使用PyInstaller,它同时支持Windows和Linux系统。在Windows环境下,几十KB的源文件打包成exe后可能达到几十MB,这是因为PyInstaller会将程序依赖的所有库文件一并打包进exe中。
二、Python打包成exe文件(附带图标打包)
本次打包提供两种方法,用户可根据自身操作习惯选择。
2.1 第一种方法:切换到指定文件夹进行打包存放
第一步:移动到存放exe文件的指定目录。
cd 文件夹路径
例子:cd C:\FILE2\python_file
第二步:执行打包命令(参考下方代码)。
pyinstaller -F -w -i 路径一(图标) 路径二(py文件)
例子:pyinstaller -F -w -i D:\python_file\BindundunDemo\qt-logo.ico D:\python_file\BindundunDemo\main.py
2.2 第二种方法:切换到Python源文件所在文件夹进行打包存放
第一步:移动到包含Python源文件的目录。
cd 文件夹路径
例子:cd C:\FILE2\python
第二步:执行打包命令(参考下方代码)。
pyinstaller -F -w -i 图标名.后缀 源文件.py
例子:pyinstaller -F -w -i qt-logo.ico one.py

2.3 最终效果展示
生成的exe文件位于dist文件夹中,双击即可运行使用。


至此,本次打包教程结束。
接下来是命令参数的详细解释,请仔细阅读。
参考:命令解释
| 命令 | 命令全称 | 命令解释 |
|---|---|---|
| -F | –onefile | 打包成单个可执行文件,如果你的代码都写在一个.py文件,则可以使用,如果是多个.py文件,建议不要使用。 |
| -D | –onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码较易于维护。默认编译就是-D的 |
| -K | –tk | 在部署时包含 TCL/TK。 |
| -a | –ascii | 不包含编码.在支持Unicode的python版本上默认包含所有的编码。 |
| -d | –debug | 产生debug版本的可执行文件 |
| -w | –windowed,–noconsole | 使用Windows子系统执行.当程序启动的时候不会打开命令行(仅对Windows有效) |
| -c | –nowindowed,–console | 使用控制台子系统执行(默认)(只对Windows有效) |
| -s | –strip | 可执行文件和共享库将run through strip。注意Cygwin的strip可能使普通的win32 Dll无法使用 |
| -X | –upx | 如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)。 |
| -o DIR | –out=DIR | 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。 |
| -p DIR | –path=DIR | 设置导入路径(和使用PYTHONPATH效果相似)。可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源 |
| -i <FILE.ICO> | –icon=<FILE.ICO> | 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py |
| –i <FILE.EXE, N> | –icon=<FILE.EXE, N> | 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效) |
| -v FILE | –version=FILE | 将verfile作为可执行文件的版本资源(只对Windows系统有效) |
| -n NAME | –name=NAME | 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字 |
总结
到此,关于Python打包成exe文件的详细操作指南介绍完毕。更多Python打包相关内容,欢迎搜索本站历史文章或继续浏览后续教程,感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













