У меня есть код, который я не могу правильно импортировать [в Linux]:
Файлы (каждый файл python содержит только класс с таким же именем и заглавными буквами):
commandreader/
|-- CommandReader.py
|-- y/
|-- Switch.py
|-- Option.py
|-- __init__.py
|-- x/
|-- InputArg.py
|-- __init__.py
Импорт CommandReader.py:
from y import Switch
from y import Option
y / Импорт Switch.py и y / Option.py:
from x import InputArg
y / __ init__.py:
from .import x
from .Switch import Switch
from .Option import Option
y / x / __ init__.py:
from .InputArg import InputArg
Ошибка:
$ python3 ./CommandReader.py
Traceback (most recent call last):
File "CommandReader.py", line 12, in <module>
from y import Switch
File "/home/swatts/code/commandreader/y/__init__.py", line 2, in <module>
from .Switch import Switch
File "/home/swatts/code/commandreader/y/Switch.py", line 8, in <module>
from x import InputArg
ModuleNotFoundError: No module named 'x'
Редактировать: Наряду с моей ошибкой, я неправильно понимаю, как Python хочет пакеты работать? Потому что у меня такое впечатление.