mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-31 01:11:35 +00:00
plugins: on some systems plugins with relative imports failed to load
this caused electrum to fail to start potentially only older python 3.6.x are affected fixes #5421
This commit is contained in:
parent
29ce50a305
commit
811169da4b
1 changed files with 4 additions and 0 deletions
|
@ -27,6 +27,7 @@ import pkgutil
|
|||
import importlib.util
|
||||
import time
|
||||
import threading
|
||||
import sys
|
||||
from typing import NamedTuple, Any, Union, TYPE_CHECKING, Optional
|
||||
|
||||
from .i18n import _
|
||||
|
@ -73,6 +74,9 @@ class Plugins(DaemonThread):
|
|||
raise Exception(f"Error pre-loading {full_name}: no spec")
|
||||
try:
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
# sys.modules needs to be modified for relative imports to work
|
||||
# see https://stackoverflow.com/a/50395128
|
||||
sys.modules[spec.name] = module
|
||||
spec.loader.exec_module(module)
|
||||
except Exception as e:
|
||||
raise Exception(f"Error pre-loading {full_name}: {repr(e)}") from e
|
||||
|
|
Loading…
Add table
Reference in a new issue