Python程序打包 exe
常见的打包方式都是以 pyinstaller 来打包的,根据自己的python版本装对应的包;
安装pyinstaller
pip install pyinstaller
打包前文件目录结构为:
执行 pyinstaller -D demo_eval.py 进行程序打包;
打包过程中出现红框标注的提示,为程序打包成功;
打包结束后文件目录如下:
1.生成build和dist文件夹
2.dist文件中含有demo_eval.exe,可直接将该文件拷贝至程序启动处,双击进行启动;
打包生成的配置文件为 demo_eval.spec, 打开内容如下:
# -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis(['demo_eval.py'], pathex=[], binaries=[], datas=[], hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, [], exclude_binaries=True, name='demo_eval', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=True, disable_windowed_traceback=False, target_arch=None, codesign_identity=None, entitlements_file=None ) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], name='demo_eval')
spec文件中主要包含4部分: Analysis, PYZ, EXE和COLLECT.
Analysis以py文件为输入,它会分析py文件的依赖模块,并生成相应的信息;
PYZ是一个.pyz的压缩包,包含程序运行需要的所有依赖;
EXE根据上面两项生成,可设置打包后生成的名字;
COLLECT生成其他部分的输出文件夹,COLLECT也可以没有;
打包时的参数设置参考如下图:
打包过程中如有问题可随时留言!