硬编码问题
This commit is contained in:
@@ -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"),
|
||||||
|
|||||||
Reference in New Issue
Block a user