기술공부/개발_코드

파이썬 가상환경 완전 정리: Mac / Windows + venv / conda 사용법 비교 가이드

넹넹선생님 2025. 11. 18. 10:00
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
반응형