File size: 1,783 Bytes
d3d8124
e43df9f
de3a711
 
e43df9f
 
 
 
de3a711
30dcf91
e43df9f
 
 
30dcf91
e43df9f
de3a711
30dcf91
 
 
 
e43df9f
30dcf91
e43df9f
 
 
 
30dcf91
d3d8124
 
e43df9f
de3a711
 
e43df9f
30dcf91
 
 
 
 
 
 
 
 
 
 
d3d8124
 
 
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
45
46
47
# app.py
import sys
from pathlib import Path

CURRENT_DIR = Path(__file__).parent
if str(CURRENT_DIR) not in sys.path:
    sys.path.insert(0, str(CURRENT_DIR))

try:
    import decorators # Importa tu archivo decorators.py
    from UI import create_interface
    import interface as app_interface_module
except ImportError as e:
    print(f"Error cr铆tico de importaci贸n en app.py: {e}. Aseg煤rate de que todos los archivos .py est茅n en el mismo directorio o en PYTHONPATH.")
    sys.exit(1)


if decorators.was_real_spaces_gpu_imported(): # Usa la funci贸n de decorators.py
    print("INFO (app.py): El decorador GPU de 'spaces' parece estar disponible.")
    print("INFO (app.py): Se definir谩 una funci贸n dummy decorada para satisfacer el chequeo de Gradio si es necesario.")
    
    @decorators.gpu_decorator(duration=1) 
    def _app_py_dummy_gpu_function_for_gradio_startup():
        pass
else:
    print("INFO (app.py): El decorador GPU real de 'spaces' no fue importado. No se necesita funci贸n dummy para GPU.")


def main():
    print("INFO (app.py): Creando la interfaz Gradio...")
    demo_instance = create_interface(process_function_for_button=app_interface_module.process_and_plot)
    
    print("INFO (app.py): Lanzando la interfaz Gradio localmente...")
    # Si el error de localhost persiste, prueba con share=True
    # Esto es m谩s probable si est谩s en un entorno contenedorizado incluso para "local"
    try:
        demo_instance.launch() 
    except ValueError as ve:
        if "shareable link must be created" in str(ve):
            print("ADVERTENCIA (app.py): Fall贸 el lanzamiento local directo, intentando con share=True...")
            demo_instance.launch(share=True)
        else:
            raise ve


if __name__ == "__main__":
    main()