https://github.com/nvbn/thefuck/commit/0420442e778dd7bc53bdbdb50278eea2c207dc74 From: Pablo Santiago Blum de Aguiar Date: Mon, 10 Jul 2023 14:43:45 +0200 Subject: [PATCH] #1248: Use imp only when importlib.util not available The imp module is deprecated and will be removed in Python 12. --- a/thefuck/conf.py +++ b/thefuck/conf.py @@ -1,4 +1,3 @@ -from imp import load_source import os import sys from warnings import warn @@ -6,6 +5,17 @@ from . import const from .system import Path +try: + import importlib.util + + def load_source(name, pathname, _file=None): + module_spec = importlib.util.spec_from_file_location(name, pathname) + module = importlib.util.module_from_spec(module_spec) + module_spec.loader.exec_module(module) + return module +except ImportError: + from imp import load_source + class Settings(dict): def __getattr__(self, item): --- a/thefuck/types.py +++ b/thefuck/types.py @@ -1,9 +1,8 @@ -from imp import load_source import os import sys from . import logs from .shells import shell -from .conf import settings +from .conf import settings, load_source from .const import DEFAULT_PRIORITY, ALL_ENABLED from .exceptions import EmptyCommand from .utils import get_alias, format_raw_script