diff --git a/searx/utils.py b/searx/utils.py index 0be3c5b00..db17feba9 100644 --- a/searx/utils.py +++ b/searx/utils.py @@ -3,8 +3,8 @@ import os import sys import re import json +import importlib -from imp import load_source from numbers import Number from os.path import splitext, join from io import open @@ -445,8 +445,11 @@ def load_module(filename, module_dir): if modname in sys.modules: del sys.modules[modname] filepath = join(module_dir, filename) - module = load_source(modname, filepath) - module.name = modname + # and https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly + spec = importlib.util.spec_from_file_location(modname, filepath) + module = importlib.util.module_from_spec(spec) + sys.modules[modname] = module + spec.loader.exec_module(module) return module