Python: .venv란?
1. 개요
.venv
는 Python의 가상 환경(Virtual Environment) 을 구성하기 위해 생성되는 프로젝트 전용 디렉터리입니다.
Python 3.3부터 내장된 venv
모듈을 통해 생성되며, 각 프로젝트마다 독립된 Python 실행 환경과 패키지 저장소를 제공합니다.
✅ 목적: 패키지 격리
→ 프로젝트 간 의존성 충돌을 방지
2. 왜 .venv
를 사용해야 할까?
항목 | 전역 설치 | .venv 사용 시 |
---|---|---|
패키지 위치 | 시스템 전체 (
) | 프로젝트 내부
등 |
프로젝트 간 버전 충돌 가능성 | ❌ 높음 | ✅ 격리됨 |
협업 시 재현성 | ❌ 낮음 | ✅
로 복제 가능 |
삭제/재생성의 유연성 | ❌ 전역에 영향 | ✅ 폴더 삭제로 완전 초기화 가능 |
Git 관리 | ❌ 위험 | ✅
로 제외 가능 |
📌 전역 Python 환경은 시스템 툴, 다른 프로젝트에 영향을 줄 수 있으므로 가상 환경을 사용하는 것이 표준 개발 방식입니다.
3. .venv 설정 및 사용법 (VS Code 기준)
3.1 가상 환경 생성
python -m venv .venv
.venv/
폴더가 생성되며, 구조는 다음과 같음:
.venv/
├── Scripts/ (Windows) 또는 bin/ (Mac/Linux)
│ ├── activate
│ ├── python.exe
├── Lib/ (패키지 설치 공간)
├── pyvenv.cfg
3.2 가상 환경 활성화
OS | 명령어 |
---|---|
Windows |
|
macOS/Linux |
|
- 활성화되면 프롬프트에
(venv)
와 같이 표시됨
3.3 패키지 설치 (가상 환경 내부에서만 작동)
pip install requests
- 설치된 패키지는 전역이 아니라 .venv 내부에 저장됨
3.4 가상 환경 비활성화
deactivate
- 현재 세션에서
.venv
연결이 해제됨
4. VS Code에서 .venv
자동 인식 설정
4.1 Python 확장 설치
- 단축키:
Ctrl + Shift + X
→ "Python" 검색 후 설치
4.2 인터프리터 직접 선택
- VSCode 하단 상태바 > Python 인터프리터 클릭
.venv
내부의 Python 실행 파일 선택
OS | 경로 예시 |
---|---|
Windows |
|
macOS/Linux |
|
4.3 .vscode/settings.json
자동 설정
{
"python.defaultInterpreterPath": ".venv\\Scripts\\python.exe"
}
→ 저장 시 .venv
가 자동으로 선택됨
5. requirements.txt
로 패키지 목록 관리
5.1 현재 환경 저장
pip freeze > requirements.txt
- 현재
.venv
에 설치된 모든 패키지 + 버전이 저장됨
5.2 환경 재구성 (다른 PC에서 실행)
pip install -r requirements.txt
- 똑같은 버전으로 환경을 재구성 가능 (협업 시 필수)
6. Git 관리 시 주의사항
.venv/
디렉터리는 절대 Git에 포함시키지 말 것.gitignore
에 아래 내용 추가:
.venv/
📌 가상 환경은 재생성 가능한 자원이므로, 소스 코드 저장소에 올릴 필요가 없음
✅ 요약 정리
항목 | 내용 |
---|---|
사용 목적 | 프로젝트별 패키지 독립성 확보 |
생성 명령어 |
|
활성화 | Windows:
|
비활성화 |
|
설치 위치 |
등 |
VSCode 자동 인식 |
에서
설정 |
패키지 리스트 저장 |
|
공유 환경 복원 |
|