Я хочу, чтобы модуль Python, который я писал, импортировал модуль зависимостей, только если функция в моем модуле запущена. Это связано с тем, что модуль зависимостей очень сложный (т. Е. Устанавливает серверные программы и т. Д.) И доступен только в некоторых системах, на которых мой модуль должен использоваться. Я представляю себе, используя свой модуль таким образом, как это:Как модуль может быть импортирован в модуль Python только после запуска функции в модуле?
import mymodule
mymodule.simple_function() # just a simple function to be used on any system
mymodule.import_complex_dependencies()
mymodule.function_that_uses_functionality_of_the_complex_dependency_module()
Если предположить, что я не собираюсь разделить мой модуль на два, и я не собираюсь делать подмодуль, что будет какой-то способ сделать это?
Почему бы вам не принять один из ответов? –
@Mr_and_Mrs_D Я благодарен за предлагаемые решения, и эти решения полезны для некоторых людей, но они не являются, насколько я вижу, решением для меня. Мне нужно избегать многократного импорта сложного модуля. – BlandCorporation
Если модуль импортируется один раз, он никогда не реимпортируется - что вы не понимаете? Поместите распечатку в свой модуль, следуйте решению @ user2357112 и увидите распечатку только один раз, независимо от количества вызовов методов. –