Я не смог найти ответ, прочитав все следующее:
- PEP 338 Выполнение модулей как скриптов
- документация стандартного модуля
runpy
- описание опции интерпретатора Python
-m
Обоснование:
Когда тест script, который использует относительный импорт, выполняется без опции -m
, я мог бы напечатать предупреждающее сообщение вместо того, чтобы оставлять пользователя со стандартной трассировкой, приводящей к исключению ValueError: Attempted relative import in non-package
. Не зная этого, я могу поймать это исключение, и причиной ошибки может быть только предложить отсутствие опции -m
.