Я никогда не до конца понимал, как обрабатываются пакеты в Python, и у меня сейчас проблема с этим.Но поиск в Google, похоже, не помогает, поскольку я нахожу тему действительно запутанной.
У меня есть проект с такой структурой:
project_name/
src/
main.py
utils/
string_utils.py
tests/
test_string_utils.py
Я использую Pytest для запуска модульного тестирования и в настоящее время внутрифайл "test_string_utils.py" У меня есть следующее:
from ..src.utils.string_utils import StringUtilsClass
Но я иду в папку "имя_проекта" и пытаюсь запустить тесты с любой из этой команды, я получаю ошибки:
$ pytest tests/
ValueError: попытка относительного импорта за пределы пакета верхнего уровня
Я знаю об аргументе -m для python, но похоже, что запуск "pytest -m" ведет себя совершенно по-другому.
Как я могу решить это?Я использую неправильную архитектуру папок?Я не думаю, что то, что я создаю, должно быть пакетом в пипсах (что упростит импорт)