У меня есть следующий фрагмент кода, который выглядит так, как будто он может импортировать пакет с тем же именем, что и выполняемый скрипт, но он входит в бесконечную рекурсию:
def import_non_local2(name, custom_name=None):
custom_name = custom_name or name
from importlib.util import find_spec, module_from_spec
spec = find_spec(name, sys.path[1:])
mod = module_from_spec(spec)
spec.name = custom_name
spec.loader.exec_module(mod)
whois_service = import_non_local2('whois', 'whois_service')
Я пытаюсь преобразовать код из этого ответа , чтобы прекратить использовать устаревшие imp
.