专题图修改虚拟环境
This commit is contained in:
@@ -379,7 +379,7 @@ def _generate_batch_maps(models: list, config: dict, disaster_time: str) -> None
|
||||
import json
|
||||
import subprocess
|
||||
import tempfile
|
||||
from app.services.qgis.qgis_env import build_qgis_command
|
||||
from app.services.qgis.qgis_env import build_qgis_command, build_clean_subprocess_env
|
||||
|
||||
try:
|
||||
logger.info(f"[批量产图] 开始: {len(models)} 张专题图, batch={disaster_time}")
|
||||
@@ -409,10 +409,10 @@ def _generate_batch_maps(models: list, config: dict, disaster_time: str) -> None
|
||||
cmd,
|
||||
capture_output=True,
|
||||
timeout=600, # 10 分钟超时(15 张模板 × ~40s/张 ≈ 600s)
|
||||
# 不传 env —— 让子进程继承父进程环境,
|
||||
# runner 内部 _setup_environment() 会设置 QGIS 所需变量。
|
||||
# build_qgis_env() 设置的 PYTHONPATH/PATH/QGIS_PREFIX_PATH
|
||||
# 与 QGIS DLL 加载冲突,导致 0xC0000005 崩溃。
|
||||
env=build_clean_subprocess_env(),
|
||||
# 使用干净的环境变量:移除 venv 的 PYTHONPATH/VIRTUAL_ENV/PATH 污染,
|
||||
# 避免 QGIS Python 3.12 的 DLL 加载被干扰导致 0xC0000005 崩溃。
|
||||
# QGIS Python 3.12 仅通过 sys.path 即可正确加载所有模块和 DLL。
|
||||
)
|
||||
finally:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user