diff --git a/lite/proxy_lite.py b/lite/proxy_lite.py index 2026abf..ae406ec 100644 --- a/lite/proxy_lite.py +++ b/lite/proxy_lite.py @@ -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