Python 从父目录导入 dockerize 结构

单词

我有一个包含两个应用程序的项目。它们都使用 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'

请问,我做错了什么?

0声

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

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

from app_root.shared.database.models import *

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章