Anaconda

Introduction

Anaconda는 Python 기반의 과학 계산 및 데이터 분석을 위한 통합 플랫폼으로, conda 환경 관리 도구를 통해 NumPy, SciPy 등 다양한 패키지를 손쉽게 설치하고 관리할 수 있다. 이러한 장점으로 인해 연구 및 개발 과정에서 필요한 과학 계산 프로그램을 효율적으로 운용하는 데 널리 활용되고 있다. 본 장에서는 환경(environment)의 개념, Anaconda 설치 방법, 그리고 새로운 환경을 생성하고 활용하는 방법을 설명한다.

환경(environment)은 프로그램이 실행되는 분리된 가상 공간(isolated virtual space) 을 의미한다. 실행 공간을 분리하면 하나의 컴퓨터에서도 서로 다른 구성과 의존성을 가진 여러 프로그램을 독립적으로 설치하고 실행할 수 있다. 특히 빠르게 업데이트되며 다양한 외부 패키지에 의존하는 과학 계산 프로그램을 안정적으로 관리하기 위해 환경 관리가 필수적이다.

환경 관리가 중요한 이유는 프로그램 간 의존 관계(dependency) 에서 비롯된다. 예를 들어, 프로그램 A가 프로그램 X에 의존한다면, X가 먼저 설치되어야 A를 실행할 수 있다. 여러 프로그램이 서로 다른 버전의 동일한 패키지를 필요로 할 경우, 설치된 패키지 버전이 충돌(conflict)하여 프로그램을 동시에 사용할 수 없는 상황이 발생할 수 있다. 예를 들어, 프로그램 A는 X의 버전 1을 요구하고 프로그램 B는 버전 2를 필요로 한다면, 단일 시스템에서는 두 프로그램을 모두 사용할 수 없다(Figure 1, 왼쪽).

이 문제는 프로그램을 각각 독립된 환경에서 실행하도록 분리함으로써 해결할 수 있다. 프로그램 A와 프로그램 B를 위한 환경을 개별적으로 구성하면, 동일한 시스템에서도 두 프로그램을 모두 문제없이 사용할 수 있다(Figure 1, 오른쪽). 또한 프로그램을 배포할 때 패키지 목록과 환경 정보(environment file)를 함께 제공하면 다른 사용자가 어떤 시스템에서도 동일한 환경을 쉽게 재현할 수 있다. 따라서 환경 관리는 의존성 충돌을 방지하고 프로그램의 재현성 및 배포 편의성을 높이기 위한 핵심적인 도구이다.

Figure 1. 프로그램 의존 관계와 환경 관리

Anaconda 설치

Anaconda는 Python 과학 계산을 위한 대표적인 플랫폼이다. Anaconda 설치 파일은 웹을 통해 다운 받을 수 있다 (download page). Linux system에서는 wget 프로그램을 이용해 URL을 이용해 직접 받을 수도 있다.

1. Get installation file

wget 명령어를 이용해 Anaconda 설치 파일을 다운 받는다.

wget https://repo.anaconda.com/archive/Anaconda3-2025.06-1-Linux-x86_64.sh

2. Installation

다운 받은 설치 파일을 실행한다. 설치 과정 중 다음과 같은 사항을 물어보면 답한다.

  1. 라이센스 동의 여부 -> ‘yes’ 입력
  2. 설치위치 -> enter 키 입력
  3. 초기화 여부 (init) -> ‘yes’ 입력
sh https://repo.anaconda.com/archive/Anaconda3-2025.06-1-Linux-x86_64.sh

환경만들기

Conda 명령어를 이용해 새로운 환경을 만든다. 예를 들어 아래 명령어로 다음의 세 가지 과정을 순차적으로 수행할 수 있다.

  1. python version 3.10을 가진 sklearn이라는 이름의 환경을 만들기
  2. sklearn 환경 활성화하기
  3. sklearn 환경에 scikit-learn package 설치하기
$ conda create -n sklearn python=3.10
$ conda activate sklearn 
$ conda install scikit-learn 

참고자료

Conda 환경 자동 활성화 설정

Conda 설치 과정에서 conda 환경이 자동으로 활성화되게 하지 않았다면, 아래 과정을 통해 자동으로 활성화되도록 설정할 수 있다.

Vi 같은 linux editor를 이용해 ‘.bashrc’를 열고, 아래 내용을 파일 하단에 입력한다.

(주의) 하단의 문서에서 yourusername은 사용자 ID로 변경한다.

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/yourusername/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/yourusername/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/yourusername/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/yourusername/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

Self-check Questions

  • 환경(environment)이란 무엇이며, 왜 ‘분리된 가상 공간’이라고 부를까요?
  • 프로그램 간 의존 관계(dependency)가 발생한다는 것은 어떤 의미인가요?
  • 프로그램을 설치한다는 것은 어떤 과정을 말하며, 여러 프로그램이 설치될 때 시스템은 서로를 어떻게 참조할까요?
  • Conda에서 이미 생성된 환경 목록을 확인하는 명령어는 무엇인가요?
  • 특정 conda 환경을 활성화(activate)하는 명령어를 작성하고 설명하세요.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top