Use 'resolve' instead of 'absolute' for obtaining absolute paths;

gui.py GUI debug now redirects SELF_PATH to main.py as well
This commit is contained in:
DevilXD committed 2024-10-27 13:12:36 +01:00
1 parent eae23e367f
commit d8687b6d1b
2 files changed
+9 -8

No files matched your search

+1 -1
View File
@@ -5,7 +5,7 @@ import sys
from pathlib import Path from pathlib import Path
from typing import Any, TYPE_CHECKING from typing import Any, TYPE_CHECKING
SELF_PATH = str(Path(".").absolute()) SELF_PATH = str(Path(".").resolve())
if SELF_PATH not in sys.path: if SELF_PATH not in sys.path:
sys.path.insert(0, SELF_PATH) sys.path.insert(0, SELF_PATH)
+8 -7
View File
@@ -42,7 +42,7 @@ def _resource_path(relative_path: Path | str) -> Path:
Works for dev and for PyInstaller. Works for dev and for PyInstaller.
""" """
if IS_APPIMAGE: if IS_APPIMAGE:
base_path = Path(sys.argv[0]).absolute().parent base_path = Path(sys.argv[0]).resolve().parent
elif IS_PACKAGED: elif IS_PACKAGED:
# PyInstaller's folder where the one-file app is unpacked # PyInstaller's folder where the one-file app is unpacked
meipass: str = getattr(sys, "_MEIPASS") meipass: str = getattr(sys, "_MEIPASS")
@@ -78,13 +78,14 @@ def _merge_vars(base_vars: JsonType, vars: JsonType) -> None:
# Base Paths # Base Paths
if IS_APPIMAGE: if IS_APPIMAGE:
SELF_PATH = Path(os.environ["APPIMAGE"]).absolute() SELF_PATH = Path(os.environ["APPIMAGE"]).resolve()
else: else:
# NOTE: pyinstaller will set sys.argv[0] to its own executable when building, # NOTE: pyinstaller will set sys.argv[0] to its own executable when building
# detect this to use __file__ and main.py redirection instead # NOTE: sys.argv[0] will point to gui.py when running the gui.py directly for GUI debug
SELF_PATH = Path(sys.argv[0]).absolute() # detect these and use __file__ and main.py redirection instead
if SELF_PATH.stem == "pyinstaller": SELF_PATH = Path(sys.argv[0]).resolve()
SELF_PATH = Path(__file__).with_name("main.py").absolute() if SELF_PATH.stem == "pyinstaller" or SELF_PATH.name == "gui.py":
SELF_PATH = Path(__file__).with_name("main.py").resolve()
WORKING_DIR = SELF_PATH.parent WORKING_DIR = SELF_PATH.parent
# Development paths # Development paths
VENV_PATH = Path(WORKING_DIR, "env") VENV_PATH = Path(WORKING_DIR, "env")