728x90
반응형
데이터 분석, 백엔드 개발, LLM 프로젝트를 하다 보면 “프로젝트별 파이썬 환경을 어떻게 관리해야 하지?”라는 고민이 꼭 생깁니다.
특히 다른 사람과 협업해야 하거나, 재현성(Reproducibility)이 중요한 경우에는 가상환경 구조를 명확히 이해하는 것이 필수입니다.
이 글에서는 Mac / Windows, venv / conda 각각에서 가상환경을 만드는 방법을 완전히 정리합니다.
1. 왜 가상환경을 써야 할까?
- 프로젝트마다 서로 다른 패키지 버전 사용 가능
- 실험 환경을 독립적으로 유지 → 충돌 방지
- 협업 시 재현 가능한 환경 제공
- 시스템 파이썬을 망가뜨리지 않음
2. 전체 지도
환경 파이썬 버전 관리 가상환경 생성 특징
| macOS + venv | pyenv로 버전 관리 | python -m venv | 가볍고 빠름, 기본 제공 |
| macOS + conda | conda에서 버전+환경 관리 | conda env create | ML/과학계산에 강함 |
| Windows + venv | py 런처로 버전 선택 | py -3.11 -m venv | 가장 간단한 방식 |
| Windows + conda | conda 자체 | conda create | C 라이브러리(CUDA, PyTorch) 호환 우수 |
3. 🍎 Mac 기준 가상환경
3-1. Mac — venv 가상환경 (표준, 깔끔, 가장 간단)
1) Python 버전 설치 (pyenv 사용)
macOS는 시스템 Python 사용 비추천 → 항상 pyenv로 관리
brew install pyenv
pyenv install 3.10.13
pyenv global 3.10.13
2) venv 생성
cd ~/project
python3 -m venv .venv
3) 활성화
source .venv/bin/activate
4) 패키지 설치
pip install -r requirements.txt
5) 종료
deactivate
3-2. Mac — conda 가상환경 (데이터 사이언스 최강)
1) 환경 생성
conda create -n myenv python=3.10
2) 활성화
conda activate myenv
3) 패키지 설치
pip install -r requirements.txt
또는
conda install numpy pandas ...
4) 종료
conda deactivate
4. 🪟 Windows 기준 가상환경
4-1. Windows — venv 가상환경 (가장 깔끔)
Windows에는 pyenv 대신 **Python Launcher(py)**가 기본 탑재됨.
1) 설치된 파이썬 버전 확인
py -0
예시:
-V:3.13 Python 3.13 (64-bit)
-V:3.11 Python 3.11 (64-bit)
2) 원하는 버전으로 venv 생성
py -3.11 -m venv .venv
3) 활성화
PowerShell:
.\.venv\Scripts\Activate.ps1
CMD:
.\.venv\Scripts\activate
4) 패키지 설치
pip install -r requirements.txt
5) 비활성화
deactivate
4-2. Windows — conda 가상환경
1) 환경 생성
conda create -n myenv python=3.11
2) 활성화
conda activate myenv
PowerShell 환경에서는 conda init 명령이 필요할 수도 있음:
conda init powershell
3) 패키지 설치
pip install -r requirements.txt
4) 종료
conda deactivate
5. venv vs conda — 차이 완전 정리
항목 venv conda
| 설치 | 파이썬 기본 제공 | 별도 설치(Anaconda/Miniconda) |
| 파이썬 버전 관리 | pyenv 또는 py launcher | conda가 자체 관리 |
| C 기반 패키지 | 설치 어려울 때 있음 | 매우 강력 (numpy, pytorch 등) |
| 환경 복제 | pip freeze > requirements.txt | environment.yml로 완벽한 복제 |
| 속도 | 더 가볍고 빠름 | 상대적으로 무거움 |
| 시스템 영향 | 매우 적음 | conda base가 개입될 수 있음 |
| 추천 상황 | 백엔드·웹·일반 Python 프로젝트 | ML·과학계산·LLM 설계 |
6. 팀에서 공유할 때 어떤 파일을 내보내야 할까?
두 가지 모두 추천:
✔ requirements.txt
pip 기반 환경에서 패키지만 관리할 때
pip freeze > requirements.txt
✔ environment.yml
conda 사용자 간 완벽한 공유 가능
conda env export --from-history > environment.yml
7. 최종 요약 표
플랫폼 추천 방식 명령어
| macOS | pyenv + venv | python3 -m venv .venv |
| macOS | conda | conda create -n env python=3.10 |
| Windows | venv | py -3.11 -m venv .venv |
| Windows | conda | conda create -n env python=3.11 |
728x90
반응형
'기술공부 > 개발_코드' 카테고리의 다른 글
| 가상환경도 부족하다. 재현성을 위해 Docker로 띄우는 배포 패턴, 환경관리 모범 사례 (0) | 2025.11.20 |
|---|---|
| 개발 환경 관리 가이드 (0) | 2025.11.19 |
| Neo4j Docker로 띄우기 (0) | 2025.11.17 |
| 배치처리의 장점 (0) | 2025.02.25 |
| 배치처리 vs. 개별처리 (0) | 2025.02.25 |