반응형
FastAPI: "ImportError: 알려진 상위 패키지가 없는 상대 가져오기 시도"
나는 패스트가 처음이다API와 다른 파일을 가져오는 데 문제가 있었습니다.
오류가 발생했습니다:
from . import schemas
ImportError: attempted relative import with no known parent package
컨텍스트의 경우, 내가 가져오는 파일은 블로그라는 폴더입니다. 나는 StackOverflow가 내가 글을 쓰는 대신에 써야 한다고 말하는 것을 보았다. 그리고 그들의 솔루션이 올바르고 파이썬 프로그램을 실행하는 동안 오류가 발생하지 않지만, 내가 uvicorn을 사용하여 FastAPI를 실행하려고 하면 이 오류가 발생하고 나의 localhost 페이지가 로드되지 않는다.
File "./main.py", line 2, in <module>
from Blog import schemas
ModuleNotFoundError: No module named 'Blog'
파일 구조는 다음과 같습니다:
메인 파일의 코드는 다음과 같습니다:
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
도식적인 계획.파이의
from pydantic import BaseModel
class Blog(BaseModel):
title: str
body: str
데이터베이스를 작성.파이의
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)
스웨거UI도 로드되지 않습니다.
어떤 도움이라도 주시면 대단히 감사하겠습니다! :)
및 파일이 파일로 에 있으므로 다음과 같이 두 모듈을 가져와야 합니다:
import schemas, models
자세한 내용과 예제는 및 을 참조하십시오.
안녕하세요, 저는 이 방법을 도왔습니다 (점 없이):
from models import User
## instead of
# from .models import User
위의 폴더에서 앱을 실행할 수도 있습니다. 예를 들어, 만약 당신이 uvicorn을 사용한다면, 당신은 할 수 있다
uvicorn folder.app:main --reload
대신에
uvicorn app:main --reload
그러면 점을 유지할 수 있습니다.
반응형
'개발하자' 카테고리의 다른 글
FastAPI: 멀티파트/폼 데이터 요청을 사용하지 않고 파일을 업로드하는 방법은 무엇입니까? (0) | 2023.05.01 |
---|---|
리벳의 상태 기계를 펄럭이는 방법은 무엇입니까? (0) | 2023.04.30 |
TypeScript는 내보내기 선언 대신 정의된 선언이 있는 .d.ts 파일을 생성합니다 (0) | 2023.04.29 |
Float - 눌린 상태의 용기? (0) | 2023.04.29 |
반대하지 않는 이유.키가 TypeScript에서 유형의 키를 반환합니까? (0) | 2023.04.28 |