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