#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ CAE Mesh Generator - Quick Start Script 快速启动脚本 - 自动检查环境并启动应用 """ import sys import os import subprocess from pathlib import Path # 设置控制台编码为UTF-8 if sys.platform == "win32": import locale import codecs sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) sys.stderr = codecs.getwriter("utf-8")(sys.stderr.detach()) def check_python_version(): """检查Python版本""" version = sys.version_info if version.major < 3 or (version.major == 3 and version.minor < 8): print(f"❌ Python版本过低: {version.major}.{version.minor}") print("需要Python 3.8或更高版本") return False print(f"✅ Python版本: {version.major}.{version.minor}.{version.micro}") return True def check_dependencies(): """检查基本依赖""" try: import flask print("✅ Flask已安装") return True except ImportError: print("❌ Flask未安装") print("正在安装依赖...") try: subprocess.check_call([sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt']) print("✅ 依赖安装完成") return True except subprocess.CalledProcessError: print("❌ 依赖安装失败") return False def main(): """主函数""" print("🚀 CAE网格生成助手 - 快速启动") print("=" * 50) # 检查Python版本 if not check_python_version(): return 1 # 检查依赖 if not check_dependencies(): return 1 # 启动应用 print("\n🌐 启动应用...") try: from app import create_app app = create_app() print("✅ 应用启动成功!") print("📱 访问地址: http://localhost:5000") print("⏹️ 按 Ctrl+C 停止应用") print("-" * 50) app.run(host='0.0.0.0', port=5000, debug=False) except KeyboardInterrupt: print("\n👋 应用已停止") except Exception as e: print(f"❌ 启动失败: {e}") print("\n🔧 故障排除:") print("1. 检查是否有其他程序占用5000端口") print("2. 运行 'python scripts/deployment_check.py' 进行详细检查") print("3. 查看README.md获取更多帮助") return 1 return 0 if __name__ == '__main__': sys.exit(main())