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() |