Как правильно импортировать объект в 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