python. import in vs2022
подозреваю, ето только в визуал студио случается.
имеем "мейн" модуль, в нижележащей директории - package 'pkg'
в нем - два модуля: mdl0, mdl1
в mdl0 определен класс Cl0, в котором используется класс Cl1, определенній в mdl1.
в main модуле записано
from pkg import mdl0
и без проблем
c0 = Cl0()
в mdl0:
если пишем
from mdl1 import Cl1 as c
, при вьіполнении говорит, что не находит модуля mdl1
хорошо. меняем на
from pkg.mdl1 import Cl1 as c
вьіделяет подчерком pkg.mdl1, при всплівает hover pkg.mdl1 could not be resolved
но запускается в дибаггере. все бежит красиво до такой строчки
c1 = c()
exception 'local variable 'c' referenced before assignment
tupl'u
в mdl0:
если пишем
from mdl1 import Cl1 as c
, при вьіполнении говорит, что не находит модуля mdl1
from .mdl1 import Cl1 as c
https://docs.python.org/3/reference/import.html#package-re...
спасибо, по-вашему, с точкой, тоже не ругается при импорте, как и при указании пакет.модуль.
ошибка моя біла тупой до простоті.
у меня реально, конечно, не mdl, cl и т.д., а какие-то другие, более осмісленніе имена, и много чего другого внутри, я просто здесь описал схему. после как віложил здесь, собрал єту схему, и она спокойно сработала, без никаких ошибок.
ошибка біла: там, где "много чего внутри" меня угораздило переменную обозвать тем же именем, что дал импортируемому классу "для локального пользования". 'c' в моей схеме. т.е. получилось
from mdl1 import Cl1 as c
...
с = blablabla
...
cc = c(...)
конечно, нужно біть внимательнее, но сообщение об ошибке могло бі біть поконкретнее.