gpt4 book ai didi

python - 快速API: "ImportError: attempted relative import with no known parent package"

转载 作者:行者123 更新时间:2023-12-05 01:53:59 44 4
gpt4 key购买 nike

我是 FastAPI 的新手,在导入我的其他文件时遇到了这个问题。

我得到错误:‍‍‍‍

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

对于上下文,我从中导入的文件是一个名为 Blog 的文件夹。我看到某些 StackOverflow 的回答是这样说的,而不是 from 。 import schemas 我应该写from Blog import schemas。尽管他们的解决方案是正确的,并且我在运行 python 程序时没有遇到任何错误,但当我尝试使用 uvicorn 运行 FastAPI 时,我遇到了这个错误并且我的本地主机页面没有加载。

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

文件结构如下: enter image description here

主文件的代码如下所示:

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

模式.py

from pydantic import BaseModel


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

数据库.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()

模型.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)

SwaggerUI 也未加载。

任何帮助将不胜感激! :)

最佳答案

由于您的 schemas.py 和 models.py 文件与主文件位于同一目录中,因此您应该按如下方式导入这两个模块:

#from Blog import schemas, models
import schemas, models

关于python - 快速API: "ImportError: attempted relative import with no known parent package",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70874423/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com