Conda 설치 및 사용 가이드 — Python 환경 관리의 정석

Conda가 필요한 이유

Python 프로젝트마다 필요한 라이브러리 버전이 다릅니다. 프로젝트 A는 numpy 1.24, 프로젝트 B는 numpy 2.0을 요구하면 충돌이 발생합니다. Conda는 프로젝트별 독립 환경을 만들어 이 문제를 해결합니다.

pip + venv와의 차이:

항목pip + venvConda
Python 버전 관리별도 설치 필요 (pyenv 등)Conda가 직접 관리
비Python 패키지설치 불가 (시스템 의존)C 라이브러리, CUDA 등 포함 설치
의존성 해결설치 순서에 따라 충돌 가능SAT solver로 호환성 검증
용도순수 Python 프로젝트데이터 과학, ML, 과학 계산

데이터 과학이나 머신러닝 프로젝트라면 Conda를 권장합니다. 순수 웹 개발이라면 pip + venv로 충분합니다.

Miniconda vs Anaconda

항목MinicondaAnaconda
크기~80MB~4.5GB
포함 패키지conda + Python만conda + 300개 이상 패키지
권장 대상필요한 것만 설치하고 싶은 개발자설치 즉시 pandas, numpy 등을 쓰고 싶은 초보자

Miniconda를 권장합니다. 필요한 패키지만 설치하므로 디스크 절약이 크고, 환경이 깔끔합니다.

설치 방법

Windows

# 1. Miniconda 설치 파일 다운로드
# https://docs.conda.io/en/latest/miniconda.html 에서 Windows 64-bit 다운로드

# 2. 설치 실행 후 "Add to PATH" 옵션은 체크하지 않음 (권장)
# → 대신 "Anaconda Prompt" 또는 "Miniconda Prompt"를 사용

# 3. 설치 확인 (Anaconda Prompt에서)
conda --version
# conda 24.9.2

python --version
# Python 3.12.7

macOS / Linux

# 1. 설치 스크립트 다운로드 및 실행
# macOS (Apple Silicon)
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
bash Miniconda3-latest-MacOSX-arm64.sh

# macOS (Intel)
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
bash Miniconda3-latest-MacOSX-x86_64.sh

# Linux
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

# 2. 쉘 재시작 또는 설정 반영
source ~/.bashrc    # bash
source ~/.zshrc     # zsh

# 3. 설치 확인
conda --version
# conda 24.9.2

설치 중 “Do you wish to update your shell profile to automatically initialize conda?” 질문에 yes를 선택하세요. 터미널을 열 때마다 자동으로 conda가 활성화됩니다.

가상환경 관리

환경 생성

# Python 3.12로 새 환경 생성
conda create -n myproject python=3.12
# Proceed ([y]/n)? y

# 환경 활성화
conda activate myproject
# (myproject) $    ← 프롬프트 앞에 환경 이름 표시

# Python 버전 확인
python --version
# Python 3.12.7

# 환경 비활성화
conda deactivate

-n은 환경 이름입니다. 프로젝트별로 의미 있는 이름을 붙이세요 (예: ml-project, web-api, data-analysis).

환경 목록과 삭제

# 모든 환경 목록
conda env list
# base                  *  /home/user/miniconda3
# myproject                /home/user/miniconda3/envs/myproject
# ml-project               /home/user/miniconda3/envs/ml-project

# 환경 삭제
conda env remove -n myproject

# 환경 복제 (기존 환경을 기반으로 새 환경 생성)
conda create -n myproject-v2 --clone myproject

환경 내보내기와 재현

팀원이나 서버에서 동일한 환경을 재현할 때 사용합니다.

# 환경을 YAML 파일로 내보내기
conda activate myproject
conda env export > environment.yml

# YAML 파일로 환경 생성 (다른 PC에서)
conda env create -f environment.yml

# 크로스 플랫폼용 (OS 의존 빌드 번호 제외)
conda env export --no-builds > environment.yml

environment.yml 예시:

name: myproject
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.12
  - numpy=2.1
  - pandas=2.2
  - scikit-learn=1.5
  - pip:
      - fastapi==0.115.0     # pip 전용 패키지도 포함 가능
      - uvicorn==0.32.0

패키지 관리

conda install

# 패키지 설치
conda install numpy pandas matplotlib

# 특정 버전 설치
conda install numpy=2.1

# conda-forge 채널에서 설치 (최신 버전이 더 빠르게 올라옴)
conda install -c conda-forge jupyterlab

# 설치된 패키지 목록
conda list
# Name            Version    Channel
# numpy           2.1.3      conda-forge
# pandas          2.2.3      conda-forge
# python          3.12.7     conda-forge

# 패키지 검색
conda search pytorch

# 패키지 삭제
conda remove matplotlib

conda-forge 채널

기본 defaults 채널보다 conda-forge가 패키지가 더 많고 업데이트가 빠릅니다. 기본 채널로 설정하면 편합니다.

# conda-forge를 기본 채널로 설정
conda config --add channels conda-forge
conda config --set channel_priority strict

# 설정 확인
conda config --show channels
# channels:
#   - conda-forge
#   - defaults

conda + pip 혼용

Conda에 없는 패키지는 pip으로 설치할 수 있습니다. 단, 순서가 중요합니다.

# 올바른 순서: conda 먼저 → pip 나중에
conda install numpy pandas scikit-learn    # conda로 설치 가능한 것 먼저
pip install some-rare-package              # conda에 없는 것만 pip으로

# 잘못된 순서: pip 먼저 설치 후 conda install
# → conda가 pip 설치 패키지를 인식하지 못해 충돌 가능

자주 쓰는 명령어 정리

명령어설명
conda create -n 이름 python=버전새 환경 생성
conda activate 이름환경 활성화
conda deactivate환경 비활성화
conda env list환경 목록
conda env remove -n 이름환경 삭제
conda install 패키지패키지 설치
conda list설치된 패키지 목록
conda update condaconda 자체 업데이트
conda update --all환경의 모든 패키지 업데이트
conda env export > environment.yml환경 내보내기
conda env create -f environment.yml환경 재현
conda clean --all캐시/미사용 패키지 정리 (디스크 절약)

실전 팁

base 환경에 패키지를 설치하지 마세요. base는 conda 자체를 관리하는 환경입니다. 항상 새 환경을 만들어서 작업하세요.

# base 환경 자동 활성화 끄기 (선택 사항)
conda config --set auto_activate_base false
# → 터미널 열 때 (base) 표시가 사라짐
# → 필요할 때 conda activate base로 수동 활성화

환경이 느려졌다면 conda clean으로 캐시를 정리하세요. 수 GB를 회복할 수 있습니다.

# 캐시, 미사용 패키지, tarball 전부 정리
conda clean --all
# Total:  3.2 GB
# Proceed ([y]/n)? y

libmamba solver를 사용하면 의존성 해결 속도가 크게 빨라집니다. Conda 23.10부터 기본 solver로 채택되었지만, 이전 버전이라면 수동 설정하세요.

# solver 확인
conda config --show solver
# solver: libmamba    ← 이미 설정되어 있으면 OK

이 글이 도움이 되었나요?