Compare commits

...

3 Commits

Author SHA1 Message Date
wzy-warehouse ca14e931f8 QGIS修改日志报错 2026-06-20 17:04:24 +08:00
wzy-warehouse 4fb65f7f53 QGIS完成初步重构 2026-06-20 16:58:14 +08:00
wzy-warehouse f3c38bbb57 QGIS完成初步重构 2026-06-20 16:34:49 +08:00
2 changed files with 54 additions and 21 deletions
+11 -9
View File
@@ -19,13 +19,15 @@ DBN_CONFIG_DIR = CONFIG_DIR / "dbn"
def get_logger(name: str = "algorithm"):
"""
获取日志记录器的便捷函数
Args:
name: 日志名称
Returns:
logging.Logger 实例
获取日志记录器。主进程用 loguruQGIS 子进程回退到标准 logging。
"""
from app.utils.logger import get_logger as _get_logger
return _get_logger(name, str(LOG_DIR))
try:
from app.utils.logger import get_logger as _get_logger
return _get_logger(name, str(LOG_DIR))
except ImportError:
import logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(threadName)s] %(levelname)-5s %(name)s - %(message)s",
)
return logging.getLogger(name)
+43 -12
View File
@@ -1,23 +1,54 @@
@echo off
REM ============================================================
REM QGIS 子进程启动脚本(Windows
REM 需要设置 QGIS_ROOT 环境变量指向 QGIS 安装目录
REM 自动检测 QGIS 安装结构,支持 qgis-ltr/qgis + Python312/Python39
REM ============================================================
if "%QGIS_ROOT%"=="" (
echo [ERROR] QGIS_ROOT 环境变量未设置
exit /b 1
)
set "QGIS_APP_DIR=%QGIS_ROOT%\apps\qgis-ltr"
set "PYTHONHOME=%QGIS_ROOT%\apps\Python312"
set "PYTHONPATH=%QGIS_APP_DIR%\python"
set "QGIS_PREFIX_PATH=%QGIS_APP_DIR%"
set "QT_PLUGIN_PATH=%QGIS_APP_DIR%\qtplugins;%QGIS_ROOT%\apps\Qt5\plugins"
if "%QGIS_ROOT%"=="" goto :no_root
if not exist "%QGIS_ROOT%" goto :no_root_dir
REM --- 检测 QGIS 应用目录 ---
set "QGIS_APP=%QGIS_ROOT%\apps\qgis-ltr"
if not exist "%QGIS_APP%" set "QGIS_APP=%QGIS_ROOT%\apps\qgis"
if not exist "%QGIS_APP%" goto :no_qgis_app
REM --- 检测 Python 目录 ---
set "PY=%QGIS_ROOT%\apps\Python312"
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python39"
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python310"
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python311"
if not exist "%PY%" goto :no_python
REM --- 设置环境 ---
set "PYTHONHOME=%PY%"
set "PYTHONPATH=%QGIS_APP%\python"
set "QGIS_PREFIX_PATH=%QGIS_APP%"
set "QT_PLUGIN_PATH=%QGIS_APP%\qtplugins;%QGIS_ROOT%\apps\Qt5\plugins"
set "GDAL_DATA=%QGIS_ROOT%\apps\gdal\share\gdal"
set "PYTHONUTF8=1"
set "GDAL_FILENAME_IS_UTF8=YES"
set "VSI_CACHE=TRUE"
set "VSI_CACHE_SIZE=1000000"
set "PATH=%QGIS_APP_DIR%\bin;%QGIS_ROOT%\apps\Qt5\bin;%QGIS_ROOT%\apps\gdal\lib;%PATH%"
set "PATH=%QGIS_APP%\bin;%QGIS_ROOT%\apps\Qt5\bin;%QGIS_ROOT%\apps\gdal\lib;%PATH%"
REM 强制使用 QGIS 自带的 PROJ,避免 PostgreSQL/PostGIS 的旧 proj.db 干扰
if exist "%QGIS_ROOT%\share\proj" set "PROJ_DATA=%QGIS_ROOT%\share\proj"
"%PYTHONHOME%\python3.exe" %*
REM --- 启动 ---
"%PY%\python3.exe" %*
exit /b %ERRORLEVEL%
:no_root
echo [ERROR] QGIS_ROOT 环境变量未设置
exit /b 1
:no_root_dir
echo [ERROR] QGIS_ROOT 目录不存在: %QGIS_ROOT%
exit /b 1
:no_qgis_app
echo [ERROR] 未找到 QGIS 应用目录
exit /b 1
:no_python
echo [ERROR] 未找到 QGIS Python 目录
exit /b 1