Python 공부 시작하면 제일 먼저 나오는 게 가상환경이에요.
근데 처음엔 "이게 왜 필요하지?" 싶거든요. Java 쓸 때는 그냥 프로젝트 만들고 바로 코딩했는데, Python은 왜 이걸 먼저 해야 하나 싶었어요.
근데 이해하고 나니까 Maven이랑 거의 같은 개념이더라고요. Java/C# 개발자라면 금방 이해할 수 있어요.
가상환경이 뭔지부터
Python은 패키지를 전역으로 설치해요. 설치 안 하면 이런 구조예요:
내 컴퓨터
└── Python 3.11
└── 패키지 (전역 설치)
├── requests 2.28
└── fastapi 0.95
근데 프로젝트가 여러 개면 문제가 생겨요:
프로젝트 A → requests 2.28 필요
프로젝트 B → requests 2.20 필요 (구버전만 지원)
전역 설치면 둘 중 하나만 설치할 수 있어요. 충돌이 나는 거죠.
가상환경은 프로젝트마다 독립된 패키지 공간을 만들어줘요:
내 컴퓨터
├── 프로젝트 A 가상환경
│ └── requests 2.28
└── 프로젝트 B 가상환경
└── requests 2.20
Java 개발자 관점에서 보면
Maven이랑 거의 같은 개념이에요.
| Java (Maven) | Python (venv) |
|---|---|
pom.xml |
requirements.txt |
mvn install |
pip install |
.m2 로컬 저장소 |
가상환경 폴더 |
| 프로젝트별 의존성 관리 | 프로젝트별 패키지 관리 |
Maven이 pom.xml 로 의존성을 관리하듯, Python은 requirements.txt 로 패키지 목록을 관리해요.
실제로 써보기
① 가상환경 생성
# 프로젝트 폴더에서
python -m venv venv
venv 폴더가 생겨요. 여기에 패키지가 설치될 거예요.
② 가상환경 활성화
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
활성화하면 터미널 앞에 (venv) 가 붙어요:
(venv) C:\projects\ai-chatbot>
이 상태에서 설치하는 패키지는 전부 이 가상환경 안에만 들어가요.
③ 패키지 설치
pip install fastapi
pip install google-generativeai
④ 패키지 목록 저장
pip freeze > requirements.txt
Java의 pom.xml 처럼, 이 파일로 나중에 똑같은 환경을 재현할 수 있어요.
⑤ 다른 환경에서 복원
pip install -r requirements.txt
Maven의 mvn install 이랑 같은 역할이에요.
⑥ 가상환경 비활성화
deactivate
VS Code에서 가상환경 설정
VS Code 쓰면 가상환경 자동으로 인식해줘요.
1. VS Code에서 프로젝트 폴더 열기
2. Ctrl + Shift + P → "Python: Select Interpreter"
3. venv 폴더 안의 Python 선택
이러면 터미널 열 때마다 자동으로 가상환경 활성화돼요.
.gitignore 설정 필수
venv 폴더는 GitHub에 올리면 안 돼요. 용량도 크고, requirements.txt 로 재현하면 되거든요.
.gitignore 파일에 추가:
venv/
__pycache__/
*.pyc
.env
.env 도 같이 추가해두는 게 좋아요. API 키 같은 민감한 정보 저장할 때 쓰거든요.
정리
처음엔 번거롭게 느껴지는데, 프로젝트 여러 개 관리하다 보면 가상환경 없이는 못 살아요.
Java Maven이랑 개념이 같으니까 금방 익숙해질 거예요. 앞으로 Python 프로젝트 시작할 때 가상환경 만드는 게 습관이 돼야 해요.
다음 글은 Python 문법 핵심 정리 — C# 개발자 관점으로 써볼게요!
'Python 입문' 카테고리의 다른 글
| Python 문법 핵심만 — C# 개발자가 2시간만에 파악한 것들 (3) | 2026.04.20 |
|---|---|
| Java 개발자가 Python 처음 배울 때 헷갈리는 것들 (0) | 2026.04.07 |