Иногда я хочу, чтобы загрузка ленивого модуля в Python. Обычно, потому что я хочу, чтобы требования времени выполнения или время запуска были низкими и разделение кода на подмодули было бы громоздким. Типичный случай использования и моя предпочтительная в настоящее время реализация этого:Лучшая практика для ленивой загрузки модулей Python
jinja2 = None
class Handler(...):
...
def render_with_jinja2(self, values, template_name):
global jinja2
if not jinja2:
import jinja2
env = jinja2.Environment(...)
...
Интересно: есть ли канонический/лучший способ реализации ленивой загрузки модуля?
Другой причиной ленивой загрузки может быть то, что это плохо написанный сторонний модуль, который зависит от параметров глобальной среды, которые необходимо изменить перед импортом. (Конечно, эти модули очень интересны.) – jpmc26