-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_executable.py
More file actions
44 lines (36 loc) · 1.58 KB
/
build_executable.py
File metadata and controls
44 lines (36 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"""
Script para compilar la aplicación tk_api en un ejecutable
"""
import PyInstaller.__main__
import os
import shutil
# Directorio base del proyecto
base_path = os.path.dirname(os.path.abspath(__file__))
# Directorio de la aplicación
app_path = os.path.join(base_path, 'tk_api')
# Verificar si existe un directorio de iconos y obtener la ruta del icono si existe
icon_path = None
for file in os.listdir(base_path):
if file.lower() == 'icon.png' or file.lower() == 'icon.ico':
icon_path = os.path.join(base_path, file)
break
# Configura los argumentos para PyInstaller
args = [
'tk_api/__main__.py', # Script principal a ejecutar
'--name=ISS_Tracker', # Nombre del ejecutable
'--onefile', # Crear un único archivo ejecutable
'--windowed', # No mostrar la consola cuando se ejecuta (solo para aplicaciones GUI)
'--clean', # Limpiar caché antes de construir
'--add-data=tk_api:tk_api', # Incluir el paquete tk_api
'--noupx', # No comprimir el ejecutable (más estable)
'--noconfirm', # No preguntar antes de sobreescribir
]
# Si hay un icono, añadirlo a la configuración
if icon_path:
args.append(f'--icon={icon_path}')
print("Iniciando compilación con PyInstaller...")
print("Argumentos:", args)
# Ejecutar PyInstaller con los argumentos configurados
PyInstaller.__main__.run(args)
print("Compilación finalizada.")
print("El ejecutable se encuentra en el directorio 'dist'.")