Compare commits

...
Author SHA1 Message Date
RoyirinRosmontis c2c3bd1426 修复:
- 打包路径兼容 Nuitka:识别 __compiled__,无 sys._MEIPASS 时回退 __file__ 所在目录(onefile 解压临时目录);新增 build_nuitka.bat(PyQt5 插件、内置 config.json、输出名不变)
2026-08-26 14:56:06 +08:00
+5 -4
View File
@@ -28,11 +28,12 @@ C_TEXT = "#333333" # 正文
C_SUBTEXT = "#889099" # 次要文字 C_SUBTEXT = "#889099" # 次要文字
# ── 路径 ────────────────────────────────────────────── # ── 路径 ──────────────────────────────────────────────
# frozen=True 表示已被 PyInstaller 打包为 EXE: # 已被打包为 EXE(PyInstaller 的 sys.frozen / Nuitka 的 __compiled__):
# BASE_DIR -> EXE 解压出的临时目录(_MEIPASS) # BASE_DIR -> 内置数据目录:PyInstaller 用 _MEIPASS,Nuitka onefile 用
# __file__ 所在解压临时目录(无 _MEIPASS 时回退)
# PERSIST_DIR -> EXE 所在目录,服务安装等需要持久化的操作都放这里 # PERSIST_DIR -> EXE 所在目录,服务安装等需要持久化的操作都放这里
if getattr(sys, 'frozen', False): if getattr(sys, 'frozen', False) or "__compiled__" in globals():
BASE_DIR = Path(sys._MEIPASS) BASE_DIR = Path(getattr(sys, "_MEIPASS", None) or Path(__file__).resolve().parent)
PERSIST_DIR = Path(sys.executable).resolve().parent PERSIST_DIR = Path(sys.executable).resolve().parent
else: else:
BASE_DIR = Path(__file__).resolve().parent BASE_DIR = Path(__file__).resolve().parent