Это происходит потому, что import config
- это абсолютный импорт, что означает, что Python пытается найти config
в качестве пакета или модуля верхнего уровня.Но когда у вас есть файл __init__.py
, вы делаете каталог src/
пакетом, поэтому Python воспринимает src/config.py
не как config
, а как src.config
.Когда вы удаляете __init__.py
, расширение Python для VS Code предполагает, что вы хотите, чтобы ваш каталог src/
просто рассматривался как папка, в которой вы храните код, и, следовательно, выполняет дополнительную работу, чтобы Python запускался с src/
, а не с верхнимвашего рабочего пространства.