Запуск unit-тестов из python-модуля, не расположенного в каталоге с тестируемыми модулями

Существует следующая структура каталогов:

project_dir/
   scripts/
      script.py
   tests/
      test.py

Модуль test.py содержит unit-тесты для функций из script.py. Необходимо, используя pytest, запустить test.py из корневого каталога проекта project_dir/. Следовательно, в модуле test.py необходимо импортировать модуль script.py.

Как собственно это сделать?

Пробую запускать так: pytest tests/test.py, в test.py модуль пытаюсь импортировать так: import ..scripts.convert_qserv или же from ..scripts.convert_qserv import * (.. применяю, т.к. видел похожее подтвержденное решение на вопрос со stackoverflow). Собственно выдает ошибку ModuleNotFoundError: No module named 'scripts' в первом случае и ImportError: attemped relative import with no known parent package во втором.

Работаю на Ubuntu 20.04.


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

Автор решения: Max Gacrux

создайте файл init.py в директории tests. сделайте импорт from scripts.convert_qserv import *

→ Ссылка