twindows: dll-load 'hack' needs to be applied not only from main script - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit e42e17779d90ad45aa2c31fc8972376f07baa126 DIR parent 23a93ef7adeb9a5596fdf8904af4430176d536ef HTML Author: SomberNight <somber.night@protonmail.com> Date: Tue, 11 Feb 2020 20:53:03 +0100 windows: dll-load 'hack' needs to be applied not only from main script but also when running tests, or just importing electrum from an interpreter Diffstat: M electrum/__init__.py | 13 +++++++++++++ M run_electrum | 6 ------ 2 files changed, 13 insertions(+), 6 deletions(-) --- DIR diff --git a/electrum/__init__.py b/electrum/__init__.py t@@ -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 DIR diff --git a/run_electrum b/run_electrum t@@ -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