Skip to content

Conda 환경 만드는 방법: 완전 가이드 및 예제

Kanaries Team
Name
Kanaries Team

Updated on

여러 프로젝트에서 Python 의존성을 관리하는 것은 빠르게 악몽이 될 수 있습니다. 다른 프로젝트는 다른 패키지 버전을 필요로 하고, 모든 것을 단일 환경에 설치하면 버전 충돌과 코드 오류가 발생합니다. Conda 환경은 각 프로젝트의 의존성을 위한 격리된 공간을 생성하여 이 문제를 해결합니다.

이 가이드는 기본 명령부터 복제 및 YAML 기반 구성과 같은 고급 기술까지 Conda 환경 생성에 대해 알아야 할 모든 것을 다룹니다.

코드 없이 Python Pandas DataFrame에서 데이터 시각화를 빠르게 만들고 싶으신가요?

PyGWalker는 시각화를 통한 탐색적 데이터 분석을 위한 Python 라이브러리입니다. PyGWalker (opens in a new tab)는 pandas dataframe을 시각적 탐색을 위한 Tableau 대안 사용자 인터페이스로 변환하여 Jupyter Notebook에서의 데이터 분석 및 데이터 시각화 워크플로우를 단순화할 수 있습니다.

데이터 시각화를 위한 PyGWalker (opens in a new tab)

Conda 환경이란?

Conda 환경은 특정 패키지와 그 의존성의 컬렉션을 포함하는 격리된 디렉토리입니다. 각 환경은 독립적으로 작동하여 다음을 가능하게 합니다:

  • 다른 프로젝트에 다른 Python 버전 사용
  • 충돌하는 패키지 버전을 문제 없이 설치
  • 팀원과 재현 가능한 개발 설정 공유
  • 기본 설치를 깨끗하고 안정적으로 유지

빠른 참조: Conda 환경 명령

작업명령
기본 환경 생성conda create --name myenv
Python 버전 지정하여 생성conda create --name myenv python=3.11
YAML 파일에서 생성conda env create -f environment.yml
환경 복제conda create --name newenv --clone oldenv
모든 환경 목록conda env list
환경 활성화conda activate myenv
환경 비활성화conda deactivate
환경 삭제conda env remove --name myenv

기본 Conda 환경 만들기

Conda 환경을 만드는 가장 간단한 방법은 conda create 명령을 사용하는 것입니다:

conda create --name myenv

이렇게 하면 myenv라는 빈 환경이 생성됩니다. 하나의 워크플로우에서 생성하고 활성화하려면:

conda create --name myenv
conda activate myenv

활성화 후 터미널 프롬프트가 활성 환경 이름을 표시하도록 변경됩니다.

특정 Python 버전으로 환경 만들기

대부분의 프로젝트는 특정 Python 버전을 필요로 합니다. 생성 시 지정하세요:

conda create --name myenv python=3.11

버전 범위를 지정할 수도 있습니다:

# Python 3.10 이상
conda create --name myenv python>=3.10
 
# Python 3.9.x (모든 패치 버전)
conda create --name myenv python=3.9

지원되는 Python 버전

Python 버전상태권장 용도
3.12최신새 프로젝트, 최신 기능
3.11안정프로덕션 애플리케이션
3.10안정대부분의 라이브러리 호환
3.9성숙레거시 프로젝트 지원
3.8지원 종료유지보수만

패키지와 함께 환경 만들기

시간을 절약하기 위해 환경 생성 중에 패키지를 설치하세요:

conda create --name dataenv python=3.11 numpy pandas matplotlib scikit-learn

재현성을 위해 패키지 버전을 지정하세요:

conda create --name dataenv python=3.11 numpy=1.24 pandas=2.0 matplotlib=3.7

YAML 파일에서 환경 만들기

복잡한 프로젝트의 경우 YAML 파일에서 환경을 정의합니다. 이 접근 방식은 버전 관리와 쉬운 공유를 가능하게 합니다.

environment.yml 파일 만들기

name: myproject
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11
  - numpy=1.24
  - pandas=2.0
  - scikit-learn=1.3
  - matplotlib=3.7
  - jupyter
  - pip
  - pip:
    - pygwalker
    - pip-only-package

YAML에서 환경 만들기

conda env create -f environment.yml

이 명령은 파일을 읽고 지정된 이름과 패키지로 환경을 생성합니다.

YAML에서 기존 환경 업데이트

conda env update -f environment.yml --prune

--prune 플래그는 YAML 파일에 나열되지 않은 패키지를 제거합니다.

기존 환경 복제

원본에 영향을 주지 않고 실험하기 위해 환경을 복제합니다:

conda create --name newenv --clone oldenv

이렇게 하면 모든 패키지와 정확한 버전이 복사됩니다. 유용한 시나리오:

  • 패키지 업그레이드를 안전하게 테스트
  • 프로젝트별 변형 생성
  • 주요 변경 전 작동하는 환경 백업

사용자 지정 위치에 환경 만들기

기본적으로 Conda는 envs 디렉토리에 환경을 저장합니다. --prefix를 사용하여 다른 위치에 환경을 만듭니다:

conda create --prefix ./envs/myenv python=3.11

전체 경로로 활성화:

conda activate ./envs/myenv

이 접근 방식은 프로젝트 의존성을 프로젝트 폴더 내에 유지합니다.

Conda 환경 모범 사례

1. 설명적인 이름 사용

프로젝트나 목적에 따라 환경 이름을 지정하세요:

# 좋음
conda create --name webapp-backend python=3.11
conda create --name data-analysis python=3.10
 
# 피하기
conda create --name env1
conda create --name test

2. 항상 Python 버전 지정

명시적인 버전은 예기치 않은 동작을 방지합니다:

conda create --name myenv python=3.11

3. 공유를 위해 환경 내보내기

재현 가능한 환경 파일을 만듭니다:

# 전체 내보내기 (플랫폼별)
conda env export > environment.yml
 
# 크로스 플랫폼 내보내기
conda env export --from-history > environment.yml

4. conda-forge 채널 사용

conda-forge 채널은 더 많은 패키지와 빠른 업데이트를 제공합니다:

conda create --name myenv -c conda-forge python=3.11 numpy pandas

5. 환경을 최소한으로 유지

필요한 패키지만 설치하세요. conda env remove 명령을 사용하여 사용하지 않는 환경을 정기적으로 삭제하세요.

일반적인 문제 해결

환경 생성 실패

문제: ResolvePackageNotFound 오류

해결책: conda-forge 채널을 사용하거나 패키지 이름 철자를 확인하세요:

conda create --name myenv -c conda-forge python=3.11 package-name

환경 생성이 느림

문제: 환경 해결에 너무 오래 걸림

해결책: 더 빠른 대안인 mamba를 사용하세요:

conda install -n base -c conda-forge mamba
mamba create --name myenv python=3.11 numpy pandas

설치 후 Conda를 찾을 수 없음

문제: conda: command not found

해결책: 쉘용으로 Conda를 초기화하세요:

conda init bash  # 또는 zsh, fish, powershell

그런 다음 터미널을 다시 시작하세요.

환경 관리

환경을 만든 후에는 효과적으로 관리해야 합니다:

  • 환경 목록: conda env list는 모든 환경과 위치를 표시
  • 환경 삭제: 자세한 지침은 Conda 환경 삭제 방법 가이드를 참조하세요
  • 패키지 업데이트: 활성화된 환경에서 conda update --all 사용

Conda Create vs Conda Env Create

환경을 만드는 두 가지 명령이 있습니다:

기능conda createconda env create
빈 환경 생성아니오
인라인으로 패키지 지정아니오
YAML에서 생성아니오
환경 복제아니오

빠른 인라인 환경 생성에는 conda create를 사용하세요. YAML 파일로 작업할 때는 conda env create를 사용하세요.


FAQ

특정 Python 버전으로 Conda 환경을 만드는 방법은?

conda create --name myenv python=3.11을 사용하고, 3.11을 원하는 버전으로 바꾸세요. Conda는 지정된 Python 버전을 다운로드하여 새로운 격리된 환경에 설치합니다.

conda create와 conda env create의 차이점은?

conda create는 명령줄에서 인라인으로 지정된 패키지로 환경을 생성합니다. conda env create는 YAML 사양 파일에서 환경을 생성합니다. 빠른 설정에는 conda create를, 재현 가능하고 버전 관리되는 환경에는 conda env create를 사용하세요.

requirements.txt 파일에서 Conda 환경을 만드는 방법은?

먼저 환경을 만든 다음 requirements.txt에서 설치합니다: conda create --name myenv python=3.11 후 환경을 활성화하고 pip install -r requirements.txt를 실행합니다. 더 나은 호환성을 위해 requirements.txt를 environment.yml 형식으로 변환하세요.

특정 디렉토리에 Conda 환경을 만들 수 있나요?

예, --prefix 플래그를 사용하세요: conda create --prefix ./myenv python=3.11. 이렇게 하면 기본 Conda envs 디렉토리 대신 지정된 경로에 환경이 생성됩니다. 전체 경로를 사용하여 활성화하세요.

관련 가이드