본문 바로가기
주전공/캡스톤디자인과창업프로젝트

여름방학 기록(5): FastAPI 백엔드 기본 개발환경 세팅 및 서버 띄우기 | 코드 실행 및 연동 1차 테스트 + Mock 실행 확인

by 희띠띠 2025. 8. 18.

8/18(월) - FastAPI 백엔드 기본 개발환경 세팅 및 서버 띄우기

코드 실행 및 BE-FE 연동 1차 테스트를 완료했다. 각자 기능별로 작성해온 코드를 유기적으로 작동할 수 있도록 통일감있게 수정하고 터미널에서 필요한 패키지 파일 설치 후 실행 명령어를 입력하였더니 아래와 같은 결과가 떴다.

 

(.venv) hsamy@huittiui-MacBookPro-2 BE % uvicorn app.main:app --reload
INFO:     Will watch for changes in these directories: ['/Users/hsamy/Documents/GitHub/SOSOHAENG/BE']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [83385] using StatReload
INFO:     Started server process [83408]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     127.0.0.1:59146 - "GET /docs HTTP/1.1" 200 OK
INFO:     127.0.0.1:59146 - "GET /openapi.json HTTP/1.1" 200 OK
INFO:     127.0.0.1:59154 - "GET /festivals HTTP/1.1" 200 OK
INFO:     127.0.0.1:59155 - "GET /festivals HTTP/1.1" 200 OK

 

 

이 중 세번째 줄에 있는 http 링크에 '/docs'만 끝에 추가하여 실행해보니 아래와 같은 결과가 나왔다 .!>/!!?!

FastAPI의 Swagger UI 자동 API 문서화 페이지

왕신기 짱신기 ...

 

이를 위해 한 작업은 다음과 같다.

 

1. 가상환경 준비

  • sudo python3 -m venv .venv → 프로젝트 전용 파이썬 실행환경 생성
  • source .venv/bin/activate → 해당 환경 활성화
  • pip install python-dotenv → .env 환경변수 파일을 Python에서 읽을 수 있도록 도와주는 도구를 설치
  • pip install fastapi uvicorn → FastAPI 서버와 실행 도구 설치

👉 앞으로 BE 개발에 필요한 패키지들은 이 .venv 안에만 깔리게 됩니다. (시스템 전체엔 영향 없음)

2. FastAPI 앱 실행

  • uvicorn app.main:app --reload → app/main.py 안의 app = FastAPI() 객체를 실행
  • --reload 옵션 덕분에 코드 수정 시 서버가 자동으로 새로고침됩니다.

3. 자동 문서화 확인

  • FastAPI는 Pydantic 모델과 라우터 정보를 읽어서 자동으로 API 문서(Swagger UI)를 생성합니다.
  • 그 결과가 http://127.0.0.1:8000/docs에서 보인 거예요.
  • 여기서 각 API 엔드포인트를 직접 호출해 테스트할 수도 있습니다.

 


만약 위 방법대로 실행하려다 아래와 같은 오류가 뜨면

(.venv) hsamy@huittiui-MacBookPro-2 BE % uvicorn app.main:app --reload
pyenv: uvicorn: command not found

The `uvicorn' command exists in these Python versions:
  3.10.13

Note: See 'pyenv help global' for tips on allowing both
      python2 and python3 to be found.

 

이 방법으로 다시 해보면 됨

sudo rm -rf .venv                //이 과정 추가 후 똑같이 반복
python3 -m venv .venv
source .venv/bin/activate
pip install python-dotenv
uvicorn app.main:app --reload

#추가설치가능
pip install --upgrade pip setuptools wheel
pip install fastapi "uvicorn[standard]" sqlalchemy

 


그리고 http://127.0.0.1:8000 링크 뒤에 /recommend /festivals /markets 를 붙여넣으면

각 기능별 페이지도 정상적으로 뜨는 것을 확인할 수 있다.

 

http://127.0.0.1:8000
http://127.0.0.1:8000/recommend
http://127.0.0.1:8000/festivals
http://127.0.0.1:8000/markets