Spaces:
Runtime error
Runtime error
Fix: Ensure demo is definitely at module level scope
Browse files
app.py
CHANGED
|
@@ -1022,9 +1022,23 @@ def _create_demo():
|
|
| 1022 |
|
| 1023 |
# Create demo at module level (like HF docs example)
|
| 1024 |
# This ensures Spaces can always find it when importing the module
|
|
|
|
| 1025 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1026 |
demo = _create_demo()
|
| 1027 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1028 |
except Exception as e:
|
| 1029 |
logger.error(f"CRITICAL: Error in demo creation wrapper: {e}", exc_info=True)
|
| 1030 |
import traceback
|
|
|
|
| 1022 |
|
| 1023 |
# Create demo at module level (like HF docs example)
|
| 1024 |
# This ensures Spaces can always find it when importing the module
|
| 1025 |
+
# CRITICAL: Create demo directly, not through function, to ensure it's at module scope
|
| 1026 |
try:
|
| 1027 |
+
if IS_SPACES:
|
| 1028 |
+
logger.info("Creating demo for Spaces...")
|
| 1029 |
+
else:
|
| 1030 |
+
logger.info("Creating demo for local execution...")
|
| 1031 |
+
|
| 1032 |
+
# Call the function to create demo
|
| 1033 |
demo = _create_demo()
|
| 1034 |
+
|
| 1035 |
+
# CRITICAL: Ensure demo is definitely set at module level
|
| 1036 |
+
# Re-assign to make absolutely sure it's accessible
|
| 1037 |
+
if demo is not None and isinstance(demo, (gr.Blocks, gr.Interface)):
|
| 1038 |
+
logger.info("Demo creation completed successfully")
|
| 1039 |
+
else:
|
| 1040 |
+
raise ValueError(f"Demo creation returned invalid result: {type(demo)}")
|
| 1041 |
+
|
| 1042 |
except Exception as e:
|
| 1043 |
logger.error(f"CRITICAL: Error in demo creation wrapper: {e}", exc_info=True)
|
| 1044 |
import traceback
|