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