Python 从父目录导入 dockerize 结构

Python import from parent directory for dockerize structure

我有一个包含两个应用程序的项目。他们都使用 mongo-engine 数据库模型文件。他们还必须在不同的 Docker 容器中启动,但在第一个容器中使用相同的 Mongo 数据库。现在我的应用程序结构如下所示:

app_root/
   app1/
      database/
         models.py
      main.py
   app2/
      database/
         models.py
      main.py

它工作正常,但我必须支持两个相同的文件 database/models.py。我不想这样做,我做了下一个结构:

app_root/
   shared/
      database/
         models.py
   app1/
      main.py
   app2/
      main.py

不幸的是,它对我不起作用,因为当我在 main.py:

中尝试这个时
from ..shared.database.models import *

我明白了

Exception has occurred: ImportError 
attempted relative import with no known parent package

当我尝试时

from app_root.shared.database.models import *

我明白了

Exception has occurred: ModuleNotFoundError No module named 'app_root'

请问我做错了什么?

在您执行导入的文件中,尝试添加:

import os
import sys
sys.path.append(os.path.abspath('../../..'))

from app_root.shared.database.models import *