QGIS完成初步重构

This commit is contained in:
wzy-warehouse
2026-06-20 15:50:24 +08:00
parent d20b5744bb
commit 18d8bcb1a3
45 changed files with 1688 additions and 454 deletions
+5 -5
View File
@@ -78,13 +78,13 @@ def check_dependencies(project_root: Path):
],
check=True
)
print(" 依赖安装完成(虚拟环境)")
print("[OK] 依赖安装完成(虚拟环境)")
else:
print(" 所有依赖已安装(虚拟环境)")
print("[OK] 所有依赖已安装(虚拟环境)")
except subprocess.CalledProcessError as e:
print(f" 依赖检查/安装失败: {e}")
print(f"[FAIL] 依赖检查/安装失败: {e}")
sys.exit(1)
except Exception as e:
print(f" 依赖检查出错: {e}")
print(f"[FAIL] 依赖检查出错: {e}")
sys.exit(1)
+1 -1
View File
@@ -32,7 +32,7 @@ def check_environment():
if major == 3 and minor == 10:
return True
else:
print(f" Python版本不符合要求!")
print(f"[FAIL] Python版本不符合要求!")
print(f" 当前版本: {python_version}")
print(f" 要求版本: 3.10.x")
print(f"\n请使用 Python 3.10 版本运行此项目")
+5 -2
View File
@@ -70,7 +70,7 @@ class AppLauncher:
# 启动应用
print("\n" + "=" * 50)
print(" 所有检查通过,准备启动应用...")
print("[OK] 所有检查通过,准备启动应用...")
print("=" * 50)
# 延迟导入logger
from app.utils.logger import get_logger
@@ -79,7 +79,10 @@ class AppLauncher:
start()
except Exception as e:
self.logger.error(f"启动失败: {e}")
if self.logger:
self.logger.error(f"启动失败: {e}")
else:
print(f"[FAIL] 启动失败: {e}")
sys.exit(1)
+10 -10
View File
@@ -22,24 +22,24 @@ async def lifespan(app: FastAPI):
get_earthquake_model()
logger.info("DBN模型预加载完成")
# 初始化 QGIS 环境
# 检测 QGIS 子进程环境
qgis_root = getattr(settings, "QGIS_ROOT", None)
if qgis_root:
try:
from app.services.qgis.qgis_env import init_qgis_env
init_qgis_env(qgis_root)
logger.info("QGIS 环境初始化完成")
from app.services.qgis.qgis_env import is_qgis_available
if is_qgis_available(qgis_root):
logger.info("QGIS 环境检测通过(子进程模式)")
else:
logger.warning("QGIS 环境不可用(未找到 Python 3.12 解释器),专题图功能降级")
except Exception as e:
logger.error(f"QGIS 环境初始化失败(专题图功能不可用): {e}")
logger.error(f"QGIS 环境检测失败: {e}")
yield
# 清理 QGIS 资源
# 清理资源
try:
from app.services.qgis.qgis_env import cleanup_qgis_env
from app.services.qgis.map_service import template_cache
template_cache.cleanup()
cleanup_qgis_env()
from app.api.qgis_map_export import shutdown_thread_pool
shutdown_thread_pool()
except Exception:
pass
+4 -4
View File
@@ -31,14 +31,14 @@ def check_virtualenv(project_root: Path) -> bool:
python_exe = venv_path / "bin" / "python3"
if not venv_path.exists():
print(f"\n 虚拟环境不存在,正在创建...")
print(f"\n[WARN] 虚拟环境不存在,正在创建...")
try:
subprocess.run([sys.executable, "-m", "venv", str(venv_path)], check=True)
print(" 虚拟环境创建成功")
print("[OK] 虚拟环境创建成功")
return True # 继续执行后续步骤
except subprocess.CalledProcessError as e:
print(f" 虚拟环境创建失败: {e}")
print(f"[FAIL] 虚拟环境创建失败: {e}")
sys.exit(1)
else:
print(f" 虚拟环境已存在: {venv_path}")
print(f"[OK] 虚拟环境已存在: {venv_path}")
return True