之前只知道用pyinstaller打包,今天尝试了一下cx_Freeze打包方式,具体操作如下:
1、cx_Freeze安装: pip install cx-Freeze
来安装
我是离线安装的,有其他的依赖需要安装,共下载如下:
2、编辑setup.py文件
testJob.py是需要打包的脚本
from cx_Freeze import setup, Executable
import sys
sys.setrecursionlimit(3000)
# 创建可执行文件的配置
executables = [
Executable(r'F:\pythonScript\pythonProject\231207\testJob.py', base=None) # 将 'your_script.py' 替换为需要打包的脚本名称
]
# 配置其他参数
options = {
'build_exe': {
'includes': [], # 包含的其他模块
'excludes': [], # 排除的模块
'packages': [], # 包含的其他包
'include_files': [], # 包含的其他文件
'optimize': 2 # 优化级别,设置为2以进一步优化
}
}
# 设置版本和描述
version = '1.0'
description = 'Description of your app'
# 执行打包
setup(
name='YourAppName',
version=version,
description=description,
executables=executables,
options=options
)
3、运行 python setup.py build
来构建可执行文件
4、执行构建过程中遇到如下错误,
RecursionError: maximum recursion depth exceeded in __instancecheck__
解决方法:在setup.py脚本中添加以下代码后再重新构建
import sys
sys.setrecursionlimit(3000) # 将最大递归深度设置为3000或其他你认为合适的值
5、构建完成,生成的可执行文件位于 build\exe.<platform>
目录中,其中 <platform>
是你所用操作系统的平台