commit e42e17779d90ad45aa2c31fc8972376f07baa126
parent 23a93ef7adeb9a5596fdf8904af4430176d536ef
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:
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git 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
@@ -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