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

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

本文详细介绍如何使用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 相关产品和应用

全部下载

专题列表