Неправильная подсветка ошибок импортов в PyCharm. Discord бот на hikari

Рейтинг: 0Ответов: 1Опубликовано: 13.01.2023

Структура (коренным каталогом является app):

введите сюда описание изображения

Для примера содержание wr_sqlite:

введите сюда описание изображения

Главным запускаемым файлом является application.py, поэтому никаких ошибок во время работы не возникает. PyCharm подсвечивает эти импорты как ошибку, но хотелось бы избавиться от этого и приобрести возможность навигации по пространству имён в самом коде.

Пишу Discord бота. В application.py при помощи вызова определённого метода у объекта бота импортируются все нужные модули. Если в импортируемых модулях (и в импортах у импортируемых модулей) не прописывать импорты "от лица" application.py, то ничего не работает. Вот если что используемый враппер под Discord API (hikari), а здесь фреймворк для менеджмента команд (lightbulb).

application.py:

bot = lightbulb.BotApp(<...>)

bot.load_extensions_from(<...>)
bot.load_extensions(<...>)

Ответы

▲ 1Принят

Проблему решил перенос главного запускаемого файла на уровень с каталогом app.

Новая структура:

app/
    __init__.py
    wrappers/
        __init__.py
        wr_sqlite.py
        ...
    builder.py
application.py

Теперь во всех импортах в проекте сначала указывается директория app, пример wr_sqlite:

from app.wrappers import wr_json
from app.wrappers import <...>

PyCharm не ругается и при обычной работе всё идеально работает.