首先创建一个.spec文件,可以操作更多细节,main.py是主文件的名字
pyi-makespec -w main.py
a = Analysis(
['main.py',
'save_file_manage.py',
'yolo_detection.py'],##这里填写主目录下py文件
pathex=[],
binaries=[('trained_model','trained_model')],##这里填写要打包哪些其他文件,第二个参数是打包后访问的位置
datas=[],
hiddenimports=['ultralytics'],##这里填写隐式导入的包
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='assets/doro.ico'##这里填写图标
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='main',
)
然后进行打包
pyinstaller main.spec
这样在上面spec文件填了隐式导入的包,打包后就不会缺少库了。
2万+

被折叠的 条评论
为什么被折叠?



