Python打包exe文件完整指南:PyInstaller安装与两种打包方式详解

沈知远
沈知远
发布时间:2026-10-16| 9人浏览过
原创

本文详细介绍如何使用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打包相关内容,欢迎搜索本站历史文章或继续浏览后续教程,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。