2
2
3
3
# -*- mode: python ; coding: utf-8 -*-
4
4
import os
5
+ import sys
5
6
from PyInstaller .utils .hooks import collect_data_files , collect_dynamic_libs
6
7
7
8
# --- БЛОК 1: Определяем абсолютные пути ---
8
9
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
+ # ^^^^ --- КОНЕЦ ИЗМЕНЕНИЯ --- ^^^^
12
14
13
15
# --- БЛОК 2: Подготовка данных и библиотек ---
14
16
15
17
# Собираем данные: модель ONNX и все данные из ultralytics.
16
- # Пути теперь строятся от абсолютного пути к .spec файлу.
17
18
datas = [
18
19
(os .path .join (SPEC_DIR , 'yolov8n.onnx' ), '.' ),
19
20
* collect_data_files ('ultralytics' )
@@ -35,7 +36,7 @@ hiddenimports = [
35
36
'PIL' ,
36
37
]
37
38
38
- # Исключаем ненужные тяжелые библиотеки.
39
+ # Исключаем ненужные тяжелые библиотеки
39
40
excludes = [
40
41
'torch' ,
41
42
'torchvision' ,
@@ -59,7 +60,7 @@ a = Analysis(
59
60
excludes = excludes ,
60
61
win_no_prefer_redirects = False ,
61
62
win_private_assemblies = False ,
62
- cipher = None
63
+ cipher = None ,
63
64
)
64
65
65
66
# --- БЛОК 4: Сборка исполняемого файла ---
0 commit comments