ModuleNotFoundError: No module named 'app'. Ошибка при попытке импортировать файл

Я пишу тг бота на aiogram 3.21.0. При попытке импорта файла keyboards в файл handlers (они находятся в одной папке app) вот таким образом import app.keyboards as kb выдает такую ошибку: ModuleNotFoundError: No module named 'app'. Все файлы перед импортом сохранил, грамматические ошибки все проверил. Синтаксических тоже нет. Подскажите пожалуйста, что делать?


Ответы (1 шт):

Автор решения: Рустам Рысаев

если я правильно понял структуру проекта, то ошибка возникает потому, что при запуске python app/handlers.py директория app становится корнем проекта, и Python не видит саму папку app как модуль.

Вместо этого лучше запускать проект из корня

python main.py

А в main.py импортировать нужные хендлеры.

Если хотите запускать именно handlers.py напрямую, замени:

import app.keyboards as kb

на:

import keyboards as kb

или добавьте в начале файла:

import sys
sys.path.append('..')
→ Ссылка