Как правильно импортировать объект в Python?

Мой репозиторий имеет следующий вид:

root
|
|__ module
    |
    |__ __init__.
    |__ submodule
        |
        |__ __init__.py
        |__ main.py
        |__ secondary.py

Файл main.py:

from module.submodule.secondary import TestClass

test_class = TestClass()

Файл secondary.py:

class TestClass:
    pass

Все файлы init.py пустые (автоматически сгенерированы PyCharm Professional 2020.2).

Я вызываю из корня репозитория команду python module/submodule/main.py и получаю ошибку

Traceback (most recent call last):
  File "module/submodule/main.py", line 1, in <module>
    from module.submodule.secondary import TestClass
ModuleNotFoundError: No module named 'module'

Почему это происходит? Как я могу, не изменяя строку импорта, избежать эту ошибку?

P.S. Если запускать main.py при помощи IDE, ошибки не возникает. P.S.S. Используется версия Python 3.8


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

Автор решения: Danis

ошибка появляется потому что import ищет файлы не в root а в текущей категории то есть в submodule. импортировать надо так:

from secondary import TestClass
→ Ссылка