Предположим, у нас есть такое дерево:
└── my_project
├── A.py
├── __init__.py
├── my_apps
├── app_framework.py
├── app1.py
├── app2.py
├── __init__.py
Внутри папки my_apps
есть общий класс, определенный в app_framework.py
. Все остальные файлы определяют собственный дочерний класс на его основе.
Файлы будут выглядеть так:
app_framework.py
:
Class App():
...
app1.py
:
from app_framework import App
Class MyApp1(APP):
...
...
app2.py
from app_framework import App
Class MyApp2(APP):
...
...
Итак, в папке моего проекта я хочу использовать
from my_apps import MyApp1, MyApp2
Но я получил две ошибки:
Сначала ModuleNotFoundError: No module named app_framework
. Я частично исправляю это, меняя from app_framework import App
на from .app_framework import App
ImportError: cannot import name 'MyApp1' from 'my_apps'
Я могу использовать from my_apps.app1 import MyApp1, MyApp2
, но я бы предпочел from my_apps import MyApp1, MyApp2
, который выглядит более кратким. Как это сделать?