env.py 运行正常,但是当我在 cmd 中执行“
alembic revision --autogenerate -m "create models"
”时,它会抛出错误:ModuleNotFoundError: No module named 'data'
。
进口:
import sys
import os
from logging.config import fileConfig
from sqlalchemy import engine_from_config
from sqlalchemy import pool
from alembic import context
current = os.path.dirname(os.path.realpath(__file__))
parent = os.path.dirname(current)
sys.path.append(parent)
from data import Base # noqa: E402
文件夹结构:
主文件夹
迁移
env.py
尝试过这个,如上图:
current = os.path.dirname(os.path.realpath(__file__))
parent = os.path.dirname(current)
sys.path.append(parent)
但它仅在手动运行 env.py 时才有效
通过运行修复此问题:
mkdir data
touch data/Base.py
from data import Base
行表示Python将查找名为data
的文件夹,其中应包含Base.py
。我在你的文件夹结构中没有看到这一点。