[Python] FastAPI: " ImportError: attempted relative import with no known parent package"

Discussão em 'Python' iniciado por Stack, Abril 27, 2025.

  1. Stack

    Stack Membro Participativo

    I am new to FastAPI and I've been having this problem with importing my other files.

    I get the error:‍‍‍‍

    from . import schemas
    ImportError: attempted relative import with no known parent package


    For context, the file I am importing from is a Folder called Blog. I saw certain StackOverflow answers saying that instead of from . import schemas I should write from Blog import schemas. And even though their solution is right and I don't get any errors while running the python program, When I try running FastAPI using uvicorn, I get this error and my localhost page doesn't load.

    File "./main.py", line 2, in <module>
    from Blog import schemas
    ModuleNotFoundError: No module named 'Blog'


    The file structure looks like this: [​IMG]

    The code to the main file looks like this:

    from fastapi import FastAPI
    from Blog import schemas, models
    from database import engine

    app = FastAPI()

    models.Base.metadata.create_all(engine)


    @app.post('/blog')
    def create(request: schemas.Blog):
    return request


    schemas.py

    from pydantic import BaseModel


    class Blog(BaseModel):
    title: str
    body: str


    database.py

    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker

    SQLALCHAMY_DATABASE_URL = 'sqlite:///./blog.db'

    engine = create_engine(SQLALCHAMY_DATABASE_URL, connect_args={"check_same_thread": False})

    SessionLocal = sessionmaker(bind=engine, autocommit=False, autoflush=False)

    Base = declarative_base()


    models.py

    from sqlalchemy import *
    from database import Base


    class Blog(Base):
    __tablename__ = 'blogs'
    id = Column(Integer, primary_key=True, index=True)
    title = Column(String)
    body = Column(String)


    The SwaggerUI is not loading either.

    Any help would be greatly appreciated! :)

    Continue reading...

Compartilhe esta Página