打包发布
1.安装插件PyInstaller
pip install PyInstaller
2.在目录根目录内新增main.spec文件(打包脚本)
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
py_files = ['main.py',
'XXX\\XX.py',
'YYYY\\YYYYYY.py'
]
add_files = [
('chromedriver.exe','.'), # .表示将资源文件复制到打包文件的根目录
('AppSettings.ini','.'),
('doc\\*.txt','doc'),
('images\\my.png','images'),
]
a = Analysis(py_files, #所有脚本文件路径
pathex=['E:\\XX\\XX'], #项目根目录
binaries=[],
datas=add_files , #打包资源文件(图片、文档、视频等)
hiddenimports=[],
hookspath=[],
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='test', #打包后exe名称
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True ) #是否显示命令窗口,默认true
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='test') #打包后文件夹名称
3.执行打包命令
pyinstaller -F main.spec
4.完成后会在项目内出现build及dist文件夹,打包文件在dist文件夹内
PS:
也可以不写spec,直接执行-F命令强制打包。但是需要打包的项目如果有资源文件及多个脚本文件依赖时,会出现打包丢失文件。所以建议按照标准打包。
直接打包exe命令(main为入口py):
pyinstaller -F main.py
参考:https://www.cnblogs.com/the3times/p/12386007.html