inb4: on_startup присваивает значение именно глобальной переменной, а не в своем скоупе
async def init(...):
global rmq_connection
...
Top-level
inb4: on_startup присваивает значение именно глобальной переменной, а не в своем скоупе async def init(...): 9 comments
@dima а хуй там, он даже так видит значение до инициализации :) и да, оно там не меняется. Оно один раз лениво инициализируется, и уже после этого используется в нижележащих модулях @mo интересно, но не понятно, почему он видит старое значение. Я стараюсь такие ситуации избегать или созданием объекта, который хранит состояние и передается кому надо, или избежанием присваивания Вместо Что-то типа x = [] Список это просто пример мутабельной структуры. @dima скорее всего, я на 90% уверена — он не может понять, что package.main это главный модуль. Поэтому он его импортирует как обычно, но функция инициализации при этом не вызывается @dima т.е там тупо два разных модуля main. Один как package.main, второй как __main__ |
Фан факт, проблема вылечилась импортом магического модуля __main__ и затыканием ide по поводу того, что такого пакета нет в зависимостях
Оказывается, для питона это разные модули, и если импортировать main по его пути, без магии, то он его загрузит заново....