AnsysLink/start.py

85 lines
2.4 KiB
Python

#!/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())