Я опробовал оба решения и оба работают =) спасибо за помощь!

t рекомендует включая дополнительный каталог для разделения исходного кода в проекте:

my_package
├── src  # <-- no __init__.py on this layer
│   └── my_package
│       ├── __init__.py
│       └── util_module
│           ├── __init__.py
│           └── utils.py
└── tests
    ├── __init__.py
    └── test_util_module
        ├── __init__.py
        └── test_utils.py

$2 включая дополнительный каталог для разделения исходного кода в проекте:3$этот наивный пример2, но вызывает следующую ошибку с pytest:

my_package $ pytest

====================== test session starts ======================
platform linux -- Python 3.6.4, pytest-3.5.1, py-1.5.3, pluggy-0.6.0
rootdir: /home/user/workspace/my_package, inifile:
collected 0 items / 1 errors     

============================ ERRORS =============================
___ ERROR collecting tests/test_util_module/test_utils.py ___
ImportError while importing test module '/home/user/workspace/my_package/tests/test_util_module/test_utils.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_util_module/test_utils.py:1: in <module>
    from test.test_module.some_file import starify
E   ModuleNotFoundError: No module named 'my_package.util_module'
!!!! Interrupted: 1 errors during collection !!!!!

Я могу решить эту проблему, изменив импорт теста наfrom src.my_package.util_module.utils import starify, но тогда мои жалобы IDE оsrc часть излишняя, так что я бы хотел ее оставить.

1: уже не так. Начиная с версии 3.7.3, pytest рекомендует редактируемую установку, также представленную в ответе @ hoefling вверхухорошие практики.

2: Настройкаvirtualenv env -p python3.6; source env/bin/activate; pip install pytest

Ответы на вопрос(1)

Ваш ответ на вопрос