Python 项目打包为 exe 文件
项目写完之后需要打包、分发、安装。对于 Python 项目,了解到有 PyInstaller,cx_Freeze,py2exe。此博客介绍 cx_Freeze 打包为 exe 文件的步骤。
Python 项目打包为 exe 文件
1 前言
我的一个 PyQt 项目第一版完成了,需要考虑如何发布及后面的流程。
项目写完之后需要打包、分发、安装。
对于 Python 项目,了解到有 PyInstaller,cx_Freeze,py2exe。PyInstaller 简单尝试后,生成的 exe 文件双击后闪退,便没有深究。后尝试使用 cx_Freeze,很顺利。下面介绍 cx_Freeze 打包为 exe 文件的步骤。
2 使用 cx_Freeze 打包项目(好用)
建议为要打包的项目单独创建、配置一个虚拟环境。具体这样做是否能让打包成的.app文件更小还不清楚,但是亲测这样做速度会快很多。感觉原因是在打包的过程中,需要遍历的包更少。此外,可能老的环境下打包报错,但是在新的环境下打包就不会报错1。
以下是使用 cx_Freeze 打包 Python 项目的步骤:
- 安装 cx_Freeze
在命令行中运行以下命令来安装 cx_Freeze:
1
pip install cx_Freeze
- 创建 setup.py 文件
在你的项目目录中创建一个 setup.py 文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import sys
from cx_Freeze import setup, Executable
# 1. 要打包的Python脚本路径
script = "app.py"
# 2. 不在运行程序的时候出现cmd后台框
base = None
if sys.platform == "win32":
base = "Win32GUI"
# 3. 创建可执行文件的配置
exe = Executable(
script=script,
base=base,
target_name="MyProgram", # 自定义
icon='./src/icon/icon_2_kao.ico' # 自定义
)
# 4. 打包的参数配置
options = {
"build_exe": {
"packages": [],
"excludes": []
}
}
setup(
name="MyProgram", # 自定义
version="1.0", # 自定义
description="My Program Description", # 自定义
options=options,
executables=[exe]
)
- 打包项目
在命令行中运行以下命令来打包项目,这步会有很多输出,耐心等待。
1
python setup.py build
- 查看生成的 .exe 文件
打包完成后,会在项目目录下生成一个 build 文件夹,.exe 文件就在这个文件夹中,双击 exe 即可运行
3. References
This post is licensed under CC BY 4.0 by the author.