block_cipher = None
a = Analysis(
['detect_ship_hugetif.py'],
pathex=['/home/lhy/anaconda3/envs/mmrotate/lib/python3.8/site-packages'],
binaries=[],
datas=[],
hiddenimports=['setuptools._distutils','mmcv._ext'],
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(
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='detect_ship_hugetif',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation
=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
options常用参数(按需求选择):
-D 与 -F 相反用法,生成一个文件目录包含可执行文件和相关动态链接库和资源文件等,对于打包结果较大的项目,选用-D生成目录相比-F的打包方式,执行速度更快,但包含更加多的文件
-F 表示在 dist 文件夹下只生成单个可执行文件(内部包含所有依赖),不加默认会在 dist 生成一大堆依赖文件+可执行文件。
-w 表示去掉控制台窗口,如果你的程序是有界面的,可以不写这个参数,
-c 表示去掉窗框,使用控制台,推荐使用,会打印各种信息和log到控制台,加上这个参数生成的spec中的console=True
-p 表示自己定义需要加载的类路径,项目中包含多个自建模块的时候需要加上 -p aaa.py -p bbb.py -p ccc.py
-i 表示可执行文件的图标,后面跟图标的路径,可以自定义exe文件的图标,我尝试了好多次没成功
打包完毕后在 dist 文件夹下双击项目启动文件就可以执行了