FastAPI: 가상환경 생성 및 활성화

Kim yoon beom·2025년 12월 4일

이번에는 완전히 백지에서 FastAPI 사용을 위한
가상환경을 열고 활성화까지의 내용을 담았다.


1. (간략)FastAPI란?

  • FastAPI는 Python으로 웹 API를 만들 때 사용하는, 빠르고 현대적인 웹 프레임워크다.

  • 비동기 처리, 타입 기반 검증, 자동 문서화(Swagger UI) 같은 기능 덕분에
    적은 코드로도 고성능 API 서버를 쉽게 만들 수 있다는 점이 장점이다.
  • 비슷한 프레임워크로는 Flask, Django가 있다. 모두 Python언어를 사용한다는 점이 있다.

  • 정리하면
    FastAPI = 고성능·API 특화,
    Flask = 최소 기능·자유도 높음,
    Django = 풀스택 올인원 프레임워크에 가깝다.


1-1. 핵심 차이 테이블로 한눈에 보기.

항목FastAPIFlaskDjango
주요 용도고성능 API 서버, ML 서빙, 마이크로서비스소형 웹/REST API, 프로토타입대규모 웹 서비스, 관리사이트, 풀스택 앱
철학현대적, 타입 기반, 자동 문서화최소 코어 + 확장, 자유도“배터리 포함” 풀스택, ORM·관리자·인증 다 내장
성능셋 중 가장 빠른 편 (ASGI, 비동기)중간 (WSGI 중심)상대적으로 가장 무거움
비동기 지원기본 내장 (async/await)제한적, 별도 설정 필요최근 버전 일부 지원, 전통적으로 동기 중심
API 문서화OpenAPI/Swagger 자동 생성기본 없음, 확장으로 추가REST API는 DRF 같은 별도 패키지 필요

2. FastAPI 설치하기!

1) cmd를 열어본다.

  • Win + Rcmd 입력 후 엔터

2) 파이썬 설치 유무를 일단 확인한다.

  • cmd 창에 아래와 같이 명령어를 입력해본다.
python --version

  • 위 사진과 같이 python 버전이 나오면 이미 설치가 된 생태이다.

버전이 뜨지 않는다면 https://www.python.org/ 가서 받자.


3) 작업 할 프로젝트 폴더 만들기

  • 작업을 원하는 위치(예: 바탕화면)에서 폴더 만들기, 예) "fastapi-test"

  • 작성자는 바탕화면에 폴더를 만들었다.

  • 위치(경로)를 확인해줘야 한다.
    왜냐하면 위 경로를 통해서 가상환경을 생성할 것이기 때문.

  • 위치를 확인했다면
    다시 cmd 창으로 돌아와 아래 명령어를 통해 해당 폴더로 이동해준다.

cd C:\Users\user\OneDrive\Desktop\fastapi-test

  • 위 사진과 같이 fastapi-test 폴더로 이동한 것이 보인다면 성공이다.

4) 가상환경 생성하기

  • 생성을 위해서 (3번: 폴더 이동 후) cmd 창에 아래 명령어를 입력한다.
python -m venv venv
  • 이제 폴더(fastapi-test)를 보면 안에 venv파일이 있다.

  • 생성된 venv 파일

  • venv 폴더의 내부

이 폴더 안에 이 프로젝트 전용 Python, 라이브러리들이 설치된다.


5) 가상환경 활성화

  • 작성자는 window 유저라서 mac은 잘 모르겠다.
# 가상환경 접속(window). 
venv\Scripts\activate.bat
또는
venv\Scripts\activate

# 가상환경에서 탈출하는 방법
deactivate

짜잔~ 사진과 같이 앞에 (venv) 가 떠있다면 당신은 성공했다.


⚠️주의!! 윈도우 유저라면⚠️

powershell 말고 terminal을 사용하자. 그래야 잘된다.


그리고 파일,폴더구분시
/ (슬래시) 말고
\ (역슬래시, 원화표시) 를 사용하도록 하자.


마무리.

원래는 가상환경 활성화 이후 FastAPI 설치하기까지 작성하려다가 분량조절에 실패했다.

다음 글은 "FastAPI를 설치하고 main.py로 서버 확인하기"가 될 듯 하다.

최종적으로 FastAPI를 통한 머신러닝 모델 서빙까지가 목표이다.


참고 및 도움:

#1. Fastapi 배우기 : 초기 설정
https://suloth.tistory.com/127?category=1124539

현재 4번째 모델 서빙까지 진행했고 윗 블로그글을 따라했다람쥐.

profile
나는.원한다.개발자

0개의 댓글