File size: 2,697 Bytes
85653bc |
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
#!/usr/bin/env python3
"""
Kronos Web UI startup script
"""
import os
import sys
import subprocess
import webbrowser
import time
def check_dependencies():
"""Check if dependencies are installed"""
try:
import flask
import flask_cors
import pandas
import numpy
import plotly
print("β
All dependencies installed")
return True
except ImportError as e:
print(f"β Missing dependency: {e}")
print("Please run: pip install -r requirements.txt")
return False
def install_dependencies():
"""Install dependencies"""
print("Installing dependencies...")
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"])
print("β
Dependencies installation completed")
return True
except subprocess.CalledProcessError:
print("β Dependencies installation failed")
return False
def main():
"""Main function"""
print("π Starting Kronos Web UI...")
print("=" * 50)
# Check dependencies
if not check_dependencies():
print("\nAuto-install dependencies? (y/n): ", end="")
if input().lower() == 'y':
if not install_dependencies():
return
else:
print("Please manually install dependencies and retry")
return
# Check model availability
try:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from model import Kronos, KronosTokenizer, KronosPredictor
print("β
Kronos model library available")
model_available = True
except ImportError:
print("β οΈ Kronos model library not available, will use simulated prediction")
model_available = False
# Start Flask application
print("\nπ Starting Web server...")
# Set environment variables
os.environ['FLASK_APP'] = 'app.py'
os.environ['FLASK_ENV'] = 'development'
# Start server
try:
from app import app
print("β
Web server started successfully!")
print(f"π Access URL: http://localhost:7070")
print("π‘ Tip: Press Ctrl+C to stop server")
# Auto-open browser
time.sleep(2)
webbrowser.open('http://localhost:7070')
# Start Flask application
app.run(debug=True, host='0.0.0.0', port=7070)
except Exception as e:
print(f"β Startup failed: {e}")
print("Please check if port 7070 is occupied")
if __name__ == "__main__":
main()
|