关于Python打包成EXE的那些事

一、为咩要打包Python程序?

设想下,你是一位Python开发者,而且你经常将你开发的各类工具分享给你的好朋友们使用,但是你的好朋友可能并不一定是学计算坤的,所以对方可能会没有Python环境也在情理之中,这时候就需要将.py文件打包成.exe可执行文件。常见的应用场景包括:

  • 给非技术人员使用的小工具
  • 需要保密的商业软件
  • 方便分发的应用程序

于是在此我将介绍5种打包方式,具体选择哪一种可以根据你的喜好。

各类打包方式过程和对比

方法1:PyInstaller

# 安装
pip install pyinstaller

# 打包命令(基础版)
pyinstaller -F -w your-python-program.py

# 高级版(添加图标)
pyinstaller -F -w -i app.ico your-python-program.py
  • -F:打包成单个exe文件
  • -w:隐藏控制台窗口(GUI程序专用)
  • -i:设置程序图标

方法2:cx_Freeze

创建setup.py文件:

from cx_Freeze import setup, Executable

setup(
    name="代码管理工具",
    version="1.0",
    description="Python代码管理工具",
    executables=[Executable("your-python-program.py", base="Win32GUI")]
)

执行打包:

python setup.py build

方法3:Nuitka(编译为原生二进制)

# 安装
pip install nuitka

# 打包命令
nuitka --standalone --onefile --windows-disable-console code-summar-tool.py

方法4:Py2exe(仅Windows)

创建setup.py:

from distutils.core import setup
import py2exe

setup(windows=["your-python-program.py"])

执行打包:

python setup.py py2exe

方法5:auto-py-to-exe(图形界面)

# 安装
pip install auto-py-to-exe

# 启动图形界面
auto-py-to-exe

关于Python打包成EXE的那些事
https://zer0ptr.github.io/2025/07/12/关于Python打包成EXE的那些事/
Author
zer0ptr
Posted on
July 12, 2025
Licensed under