硬编码问题

This commit is contained in:
wzy-warehouse
2026-06-20 17:08:49 +08:00
parent 402102cf36
commit 69f45d77b1
+13
View File
@@ -44,7 +44,11 @@ def _setup_python_path():
def _setup_environment(): def _setup_environment():
"""设置 QGIS 运行所需的环境变量""" """设置 QGIS 运行所需的环境变量"""
# 自动检测 QGIS 应用目录
qgis_app_dir = os.path.join(QGIS_ROOT, "apps", "qgis-ltr") qgis_app_dir = os.path.join(QGIS_ROOT, "apps", "qgis-ltr")
if not os.path.isdir(qgis_app_dir):
qgis_app_dir = os.path.join(QGIS_ROOT, "apps", "qgis")
os.environ["QGIS_PREFIX_PATH"] = qgis_app_dir os.environ["QGIS_PREFIX_PATH"] = qgis_app_dir
os.environ["PYTHONUTF8"] = "1" os.environ["PYTHONUTF8"] = "1"
os.environ["GDAL_FILENAME_IS_UTF8"] = "YES" os.environ["GDAL_FILENAME_IS_UTF8"] = "YES"
@@ -60,6 +64,15 @@ def _setup_environment():
if os.path.isdir(gdal_data): if os.path.isdir(gdal_data):
os.environ["GDAL_DATA"] = gdal_data os.environ["GDAL_DATA"] = gdal_data
# 强制使用 QGIS 自带的 PROJ,避免 PostgreSQL/PostGIS 的旧 proj.db 干扰
for proj_dir in [
os.path.join(qgis_app_dir, "share", "proj"),
os.path.join(QGIS_ROOT, "share", "proj"),
]:
if os.path.isdir(proj_dir):
os.environ["PROJ_DATA"] = proj_dir
break
import ctypes import ctypes
_dll_dirs = [ _dll_dirs = [
os.path.join(qgis_app_dir, "bin"), os.path.join(qgis_app_dir, "bin"),