22
33# -*- mode: python ; coding: utf-8 -*-
44import os
5+ import sys
56from PyInstaller .utils .hooks import collect_data_files , collect_dynamic_libs
67
78# --- БЛОК 1: Определяем абсолютные пути ---
89
9- # Получаем абсолютный путь к папке, где лежит этот .spec файл.
10- # Это делает сборку независимой от того, откуда запускается PyInstaller.
11- SPEC_DIR = os .path .abspath (os .path .dirname (__file__ ))
10+ # VVVV --- ИЗМЕНЕНИЕ ЗДЕСЬ --- VVVV
11+ # Используем переменную SPEC, предоставляемую PyInstaller, вместо __file__
12+ SPEC_DIR = os .path .dirname (SPEC )
13+ # ^^^^ --- КОНЕЦ ИЗМЕНЕНИЯ --- ^^^^
1214
1315# --- БЛОК 2: Подготовка данных и библиотек ---
1416
1517# Собираем данные: модель ONNX и все данные из ultralytics.
16- # Пути теперь строятся от абсолютного пути к .spec файлу.
1718datas = [
1819 (os .path .join (SPEC_DIR , 'yolov8n.onnx' ), '.' ),
1920 * collect_data_files ('ultralytics' )
@@ -35,7 +36,7 @@ hiddenimports = [
3536 'PIL' ,
3637]
3738
38- # Исключаем ненужные тяжелые библиотеки.
39+ # Исключаем ненужные тяжелые библиотеки
3940excludes = [
4041 'torch' ,
4142 'torchvision' ,
@@ -59,7 +60,7 @@ a = Analysis(
5960 excludes = excludes ,
6061 win_no_prefer_redirects = False ,
6162 win_private_assemblies = False ,
62- cipher = None
63+ cipher = None ,
6364)
6465
6566# --- БЛОК 4: Сборка исполняемого файла ---
0 commit comments