В настоящее время я организую свои файлы и папки следующим образом:
main.py
modules
|- __init__.py
|- x.py
|- y.py
Код в каждом файле:
# main.py
from modules.x import X
# modules/x.py
from modules.y import Y
class X():
# etc...
if __name__ == '__main__':
# testing of class X here
# modules/y.py
class Y():
# etc...
Из root Папка, это нормально для запуска python main.py
, однако это не хорошо для запуска python modules/x.py
, так как он покажет ModuleNotFoundError: No module named 'modules'
.
Что я пытаюсь сделать, это проверить, хорошо ли работает класс X Я хочу (используя несколько игрушечных примеров), хотя я все еще могу использовать main.py для запуска реальной задачи с использованием класса X.
Я знаю, что вместо этого могу from .y import Y
запустить python modules/x.py
, но это означает, что я не могу запустить python main.py
.
Есть ли лучший способ сделать это?