diff options
-rw-r--r-- | yt_dlp/utils.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 51d74363b..82d039052 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -5325,9 +5325,14 @@ def make_dir(path, to_screen=None): def get_executable_path(): - from .update import _get_variant_and_executable_path - - return os.path.dirname(os.path.abspath(_get_variant_and_executable_path()[1])) + from zipimport import zipimporter + if hasattr(sys, 'frozen'): # Running from PyInstaller + path = os.path.dirname(sys.executable) + elif isinstance(globals().get('__loader__'), zipimporter): # Running from ZIP + path = os.path.join(os.path.dirname(__file__), '../..') + else: + path = os.path.join(os.path.dirname(__file__), '..') + return os.path.abspath(path) def load_plugins(name, suffix, namespace): |