Python从父目录导入dockerize结构

问题描述 投票:2回答:1

我有一个包含两个应用程序的项目。它们都使用mongo-engine数据库模型文件。同样,它们必须从不同的Docker容器中启动,但是在fird容器中使用相同的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'

请,我该怎么办?

python-3.x python-import
1个回答
1
投票

在执行导入的文件中,尝试添加以下内容:

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

from app_root.shared.database.models import *
© www.soinside.com 2019 - 2024. All rights reserved.