diff --git a/electrum/__init__.py b/electrum/__init__.py index c4088d53a..8bafda636 100644 --- a/electrum/__init__.py +++ b/electrum/__init__.py @@ -1,3 +1,16 @@ +import sys +import os + +# these are ~duplicated from run_electrum: +is_bundle = getattr(sys, 'frozen', False) +is_local = not is_bundle and os.path.exists(os.path.join(os.path.dirname(os.path.dirname(__file__)), "electrum.desktop")) + +# when running from source, on Windows, also search for DLLs in inner 'electrum' folder +if is_local and os.name == 'nt': + if hasattr(os, 'add_dll_directory'): # requires python 3.8+ + os.add_dll_directory(os.path.dirname(__file__)) + + from .version import ELECTRUM_VERSION from .util import format_satoshis from .wallet import Wallet diff --git a/run_electrum b/run_electrum index dc9713024..e7f6a29b9 100755 --- a/run_electrum +++ b/run_electrum @@ -51,12 +51,6 @@ os.environ['KIVY_DATA_DIR'] = os.path.abspath(os.path.dirname(__file__)) + '/ele if is_local or is_android: sys.path.insert(0, os.path.join(script_dir, 'packages')) -# when running from source, on Windows, also search for DLLs in inner 'electrum' folder -if is_local and os.name == 'nt': - dll_dir = os.path.join(os.path.dirname(__file__), 'electrum') - if hasattr(os, 'add_dll_directory'): # requires python 3.8+ - os.add_dll_directory(dll_dir) - def check_imports(): # pure-python dependencies need to be imported here for pyinstaller