FastAPI 가상환경 설치

예린·2026년 4월 20일

FastAPI

목록 보기
3/4

가상환경이란?

가상환경 (Virtual Environment)
= 프로젝트마다 독립된 Python 실행 환경


내 컴퓨터 하나인데 → 프로젝트마다 따로 Python 설치한 느낌

왜 써야 할까?

IF 가상환경 없을 때

프로젝트 A → FastAPI 0.100 필요
프로젝트 B → FastAPI 0.80 필요

충돌 발생

가상환경 사용

Venv-A → FastAPI 0.100
Venv-B → FastAPI 0.80

서로 완전히 분리됨

1. 라이브러리 버전 충돌 방지

프로젝트마다 필요한 버전 다름

2. 프로젝트 독립성 유지

하나 망가져도 다른 프로젝트 영향 없음

3. 협업 & 배포 필수

pip freeze > requirements.txt

다른 사람도 동일 환경 재현 가능

4. 깔끔한 환경 관리

global에 패키지 난장판 되는 거 방지

가상환경 구조 이해

이 안에 Python + 라이브러리 다 들어있음

가상환경 만드는 방법

1. 디렉토리 생성

mkdir venvs
cd venvs

2. 가상환경 생성

python -m venv myapi

myapi = 가상환경 이름

가상환경 실행

Mac / Linux

source myapi/bin/activate

Windows

myapi\Scripts\activate

실행되면

(myapi) $

앞에 이름 붙음 = 활성화 상태

가상환경 종료

deactivate

패키지 설치

pip install fastapi

이 가상환경에만 설치됨

현재 가상환경 목록 확인

가상환경 디렉토리 확인

ls ~/venvs

또는

dir C:\venvs

방법 2 (conda 사용 시)

conda env list

방법 3 (pip 기준 현재 환경 확인)

which python

또는

where python

어떤 가상환경인지 확인 가능

설치된 라이브러리 확인

pip list

또는

pip freeze

개발할 때
프로젝트마다 무조건 가상환경 생성

협업할 때

pip freeze > requirements.txt

현재 가상환경에 설치된 패키지 목록을 파일로 저장
(pip freeze 실행하면
fastapi==0.110.0
uvicorn==0.29.0
pydantic==2.6.0
이런식으로 나오고
> 이게 결과를 파일로 저장하라는 것
)

pip install -r requirements.txt

requirements.txt에 있는 패키지들을 전부 설치

협업할때 .gitignore

# 🐍 Python
__pycache__/
*.py[cod]
*$py.class

# 🔧 Virtual Environment
venv/
.env/
.venv/

# 📦 Distribution / build
build/
dist/
*.egg-info/

# 📄 Logs
*.log

# 🔐 Environment variables
.env

# 🧠 IDE / Editor
.vscode/
.idea/

# 🍎 macOS
.DS_Store

# 🪟 Windows
Thumbs.db

# 🧪 pytest
.pytest_cache/

# 📊 coverage
.coverage
htmlcov/

# 🔄 mypy
.mypy_cache/

# 🔥 FastAPI / uvicorn
*.sqlite3

# 🧾 기타
*.swp

프로젝트 간 의존성 충돌을 방지하고 동일한 실행 환경을 재현하기 위해 가상환경을 사용

0개의 댓글