forked from YikaiFu-cart/acAubo
91 lines
2.1 KiB
Python
91 lines
2.1 KiB
Python
# -*- mode: python ; coding: utf-8 -*-
|
|
|
|
from pathlib import Path
|
|
|
|
from PyInstaller.utils.hooks import collect_data_files, collect_dynamic_libs, collect_submodules
|
|
|
|
|
|
project_dir = Path(SPECPATH).resolve().parent
|
|
|
|
datas = [
|
|
(str(project_dir / "acaubo" / "models"), "models"),
|
|
(str(project_dir / "acaubo" / "tools" / "1.png"), "tools"),
|
|
]
|
|
|
|
binaries = []
|
|
hiddenimports = []
|
|
|
|
try:
|
|
hiddenimports += collect_submodules(
|
|
"ultralytics",
|
|
filter=lambda name: not name.startswith("ultralytics.trackers"),
|
|
)
|
|
except Exception:
|
|
hiddenimports.append("ultralytics")
|
|
|
|
for package_name in ("pyrealsense2", "pyaubo_sdk", "pyaubo_agvc_sdk"):
|
|
try:
|
|
hiddenimports += collect_submodules(package_name)
|
|
except Exception:
|
|
hiddenimports.append(package_name)
|
|
|
|
for package_name in ("pyrealsense2", "pyaubo_sdk", "pyaubo_agvc_sdk"):
|
|
try:
|
|
binaries += collect_dynamic_libs(package_name)
|
|
except Exception:
|
|
pass
|
|
|
|
try:
|
|
datas += collect_data_files("ultralytics", include_py_files=False)
|
|
except Exception:
|
|
pass
|
|
|
|
|
|
a = Analysis(
|
|
[str(project_dir / "acaubo" / "main.py")],
|
|
pathex=[str(project_dir / "acaubo")],
|
|
binaries=binaries,
|
|
datas=datas,
|
|
hiddenimports=hiddenimports,
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=[
|
|
"lap",
|
|
"ultralytics.trackers",
|
|
"ultralytics.trackers.basetrack",
|
|
"ultralytics.trackers.bot_sort",
|
|
"ultralytics.trackers.byte_tracker",
|
|
"ultralytics.trackers.track",
|
|
"ultralytics.trackers.utils",
|
|
"ultralytics.trackers.utils.gmc",
|
|
"ultralytics.trackers.utils.kalman_filter",
|
|
"ultralytics.trackers.utils.matching",
|
|
],
|
|
noarchive=False,
|
|
optimize=0,
|
|
)
|
|
pyz = PYZ(a.pure)
|
|
|
|
exe = EXE(
|
|
pyz,
|
|
a.scripts,
|
|
[],
|
|
exclude_binaries=True,
|
|
name="TomatoPick",
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=False,
|
|
console=False,
|
|
)
|
|
|
|
coll = COLLECT(
|
|
exe,
|
|
a.binaries,
|
|
a.datas,
|
|
strip=False,
|
|
upx=False,
|
|
upx_exclude=[],
|
|
name="TomatoPick",
|
|
) |