728x90
반응형
FastAPI 앱 실행 시 reload 옵션을 사용하려면, uvicorn.run 호출 시 애플리케이션을 문자열로 지정해야 합니다.
올바른 실행 방식은 다음과 같습니다:
수정된 코드
main_API.py에서 다음과 같이 작성되었는지 확인하세요:
import uvicorn
if __name__ == "__main__":
uvicorn.run("main_API:app", host="0.0.0.0", port=4000, reload=True)
여기서:
- "main_API:app": main_API.py 모듈의 app 객체를 지정합니다.
- main_API.py 파일에서 FastAPI 애플리케이션 인스턴스가 다음처럼 정의되어 있어야 합니다:
from fastapi import FastAPI app = FastAPI()
- main_API.py 파일에서 FastAPI 애플리케이션 인스턴스가 다음처럼 정의되어 있어야 합니다:
실행 방법
터미널에서 다음 명령으로 실행할 수도 있습니다:
uvicorn main_API:app --host 0.0.0.0 --port 4000 --reload
주의:
- main_API는 main_API.py 파일의 이름입니다.
- app은 해당 파일 내 FastAPI 애플리케이션 객체 이름입니다.
원인 분석
uvicorn.run에서 reload=True를 사용할 경우:
- Python 파일을 직접 실행하는 것이 아니라 uvicorn이 앱을 실행해야 합니다.
- 이를 위해 앱의 경로를 문자열 형태로 지정해야 합니다 (모듈이름:앱이름).
728x90
반응형
'기술공부' 카테고리의 다른 글
hugging face 데이터 한번에 다운, git clone, git lfs pull (0) | 2025.02.12 |
---|---|
AWS PrivateLink를 사용하여 Amazon Bedrock에 Private Access 설정하기 (0) | 2025.02.06 |
pdf 페이지 img, png로 변환 방법 (0) | 2025.01.24 |
배치처리 (0) | 2025.01.21 |
VS Code에서 터미널 창의 위치를 항상 고정, 위치 변경 (0) | 2024.09.03 |