使用PyInstaller将Python脚本打包为EXE可执行文件指南

键盘旁的猫
键盘旁的猫
发布时间:2026-10-13| 3人浏览过
原创

本文详细介绍如何使用PyInstaller将Python代码打包为Windows或Linux下的EXE可执行文件。内容涵盖PyInstaller与UPX的安装配置、环境检测、Spec文件生成及最终打包步骤,帮助开发者快速生成独立运行的程序。

1、安装PyInstaller

PyInstaller的主要功能如标题所示,首先需下载PyInstaller及UPX工具,其中UPX用于压缩生成的EXE文件。请访问相关超链接进行下载,当前稳定版本为1.3,请根据所用操作系统选择对应版本。以Windows系统为例,将解压得到的upx.exe文件放置于PyInstaller解压后的文件夹内。假设PyInstaller所在目录为D:\PyInstaller,后续操作均以此路径为例。在命令行中进入D:\PyInstaller目录,运行Configure.py脚本,预期应看到如下输出信息:

I: computing EXE_dependencies I: Finding TCL/TK... I: found TCL/TK version 8.5 I: testing for Zlib... I: ... Zlib available I: Testing for ability to set icons, version resources... I: ... resource update available I: Testing for Unicode support... I: ... Unicode available I: testing for UPX... I: ...UPX available I: computing PYZ dependencies...

运行结果中不应出现以E(Error)开头的错误信息,最好也不要有W(Warning)开头的警告信息。若提示找不到某个dll文件,可尝试将该dll文件复制到C:\Windows\system32目录下,通常即可解决该问题。

Linux用户还需编译Runtime Executables,而Windows用户无需执行此步骤。主要操作是运行Make.py脚本,该脚本会在PyInstaller\support\load\目录下生成run和run_d两个文件,具体细节请参考PyInstaller\doc\Manual.html中的说明。

2、编写Python程序

为了进行测试实验,编写一个HelloWorld.py脚本,假设该文件保存在C:\HelloWorld.py路径下。

#!/usr/bin/env python
print 'Hello,World!'
words = raw_input('What do you want to say? ')
print 'you said:'+words

3、创建Spec文件

Spec文件用于告知PyInstaller需要编译的Python文件及相关参数。通过执行“Makespec.py + 参数 + Python代码路径”即可生成,主要参数如下(详细用法详见PyInstaller\doc\Manual.html):

-F, --onefile 将Python代码打包为单个文件 -D, --onedir 将Python代码打包为一个目录(默认选项) -K, --tk 包含TCL/TK支持 -d, --debug 生成调试模式的EXE文件 -w, --windowed, --noconsole 生成窗口模式EXE文件(仅限Windows) -c, --nowindowed, --console 生成控制台模式EXE文件(仅限Windows) -X, --upx 使用UPX压缩EXE文件 -o DIR, --out=DIR 指定Spec文件输出的目录,默认位于PyInstaller同级目录 --icon=<FILE.ICO> 添加图标文件(仅限Windows) -v FILE, --version=FILE 添加版本信息文件

针对上述HelloWorld.py,具体执行以下命令:

Makespec.py --onefile --console --upx --tk -o C:\ C:\HelloWorld.py

执行上述命令后,C:\目录下会生成HelloWorld.spec文件。

4、构建Spec文件,生成EXE文件

执行以下命令:

Build.py C:\HelloWorld.spec

经过一段较长的输出信息后,你可以在C:\目录下找到HelloWorld.exe文件,这就是最终生成的可执行文件。其体积约为2.7M,这是因为该HelloWorld程序属于“杀鸡用牛刀”的情况。此外,其他生成的文件均为中间过程文件,可以安全删除。

相关标签:

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

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 算法库。