가상환경은 「프로젝트별로 독립된 파이썬 환경(설치된 패키지가 격리됨)」을 만드는 도구입니다.
한 컴퓨터에서 「프로젝트 A는 Django 4, B는 Django 5」 같은 공존이 가능.
파이썬 개발의 기본기.
표준 venv.
파이썬 3.3+에 내장.
python -m venv .venv — .venv/ 폴더에 가상환경 생성.
source .venv/bin/activate(맥·리눅스) 또는 .venv\Scripts\activate(윈도우)로 활성화.
deactivate로 비활성화.
활성화 후의 변화.
which python이 .venv/bin/python을 가리킴.
pip install이 .venv/lib/...에 설치 — 시스템 파이썬 영향 없음.
프로젝트마다 .venv/ 만들기가 표준.
requirements.txt — 의존성 기록.
pip freeze > requirements.txt — 현재 설치된 패키지 목록.
다른 사람이나 서버는 pip install -r requirements.txt로 같은 환경 재현.
.gitignore에 .venv/는 추가, requirements.txt는 커밋.
virtualenv vs venv.
venv는 표준이지만 기본 기능만.
virtualenv(pip install virtualenv)는 더 빠르고 옵션 많음.
새 프로젝트라면 venv면 충분, 큰 모놀리포·복잡한 환경은 virtualenv·conda·poetry 같은 더 강력한 도구 고려.
한 줄 요약
venv는 파이썬 표준 가상환경 도구입니다.
python -m venv .venv + activate.
프로젝트별 격리, requirements.txt로 의존성 공유.
모든 프로젝트에 기본.
더 알아볼 것
- pyenv-virtualenv — pyenv와 통합
- direnv — 자동 활성화
- virtualenvwrapper — 관리 도구