从父目录导入时出错

Error while importing from a parent directory

提问人:CrossTick 提问时间:11/16/2023 更新时间:11/16/2023 访问量:18

问:

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

蟒蛇 SQLALCHEMY alembic

评论

0赞 joanis 11/16/2023
您是否有定义 的文件或要加载的文件?在后一种情况下,为了被 Python 视为模块,它必须有一个文件。运行,然后,如果存在,则 import 语句应该可以工作。data.pyBasedata/Base.pydata/__init__.pytouch data/__init__.pydata/Base.py

答:

0赞 Sergio M 11/16/2023 #1

通过运行以下命令修复此问题:

mkdir data
touch data/Base.py

该行表示 Python 将查找一个名为 的文件夹,该文件夹应包含 .我在您的文件夹结构中没有看到这一点。from data import BasedataBase.py