아나콘다 환경 복사


아나콘다 환경 복사
아나콘다(Anaconda)의 가상환경을 이전하거나 복사하는 방법에 대해서 설명드립니다. 인터넷이 연결된 환경에서 환경을 export 하여 생성하는 방법과 오프라인에서 환경을 복사하는 방법으로 나눠서 설명드리겠습니다.

아나콘다가 설치되지 않은 분들은 먼저 아래의 글을 참고하셔서 아나콘다를 설치해 주시기 바랍니다.

우분투 아나콘다 설치

아나콘다 환경 복사

아나콘다 환경 생성

아나콘다를 이용하여 테스트목적의 가상 환경을 생성해 보도록 하겠습니다. 다음 명령어로 test 환경을 생성합니다. 그리고 test 환경을 활성화 한 뒤에 필요한 패키지를 설치합니다.

$ conda create -n test python=2.7
$ conda activate test
$ conda install numpy

현재의 test 환경을 확인해 보도록 하겠습니다. 다음 명령어로 Python 버전과 numpy 버전을 출력하면 다음과 같습니다.

환경을 복사 후 패키지 등이 제대로 실행되는지 테스트 할 목적으로 확인 하는 내용입니다.

$ python --version
$ python -c 'import numpy; print(numpy.version.version);'
아나콘다 환경 복사

아나콘다 환경 복사

환경이 저장된 설정 파일을 export 하여 환경을 다시 생성하는 방법과 전체 환경을 압축 후 파일을 복사 한 뒤에 환경을 복사하는 방법으로 나눠서 설명드리겠습니다.

두가지 방법에 대한 특징은 아래와 같습니다.

  • 가상환경 export : 가상 환경의 패키지 정보등이 저장된 설정파일로 관리가 이뤄집니다. 설정 파일이 용량이 적고, 패키지등이 다시 다운받아져 가상환경이 복사되게 되게됩니다.
  • 가상환경 복사 : 가상 환경의 디렉터리를 압축하여 복사하는 방법입니다. 오프라인으로 설치가 가능합니다.

아나콘다 가상환경 export

다음 명령어를 실행하여, 가상 환경 정보가 저장된 파일을 생성합니다.

$ conda env export -n test > environment.yml

그리고 다른 호스트에서 다음 명령어를 실행하면, export 된 파일로 부터 동일한 가상환경이 생성되게 됩니다.

$ conda env create -f environment.yml

아나콘다 가상환경 복사

위의 방법은 환경 정보가 저장된 파일을 복사 후 새로운 호스트에서 환경을 만들게 됩니다. 따라서 기존의 패키지등은 다시 다운받아 설치하게 되므로, 오프란인 등에서 사용할 수 없는 방법입니다.

지금 설명드릴 방법은 오프라인 환경에서도 아나콘다 가상환경을 복사할 수 있는 방법입니다. 먼저 가상환경 정보가 저장된 디렉터리로 이동하고, 복사할 가상환경 이름의 디렉터리를 다음 명령어로 압축합니다.

$ cd ~/anaconda2/envs
$ tar cfz test.tar.gz test

그리고 다른 호스트에서 가상 환경 정보가 저장된 디렉터리에 업로드 합니다.

$ cd ~/anaconda2/envs
$ tar xf test.tar.gz
$ rm -rf test.tar.gz

해당 디렉터리 이동후 압축된 가상환경 파일을 해제 합니다. 압축을 해제 한 다음에는 압축파일은 사용되지 않기 때문에 삭제 하면 됩니다.

conda env list 명령어로 가상환경 목록을 확인하면 복사된 가상환경을 아래와 같이 확인 할 수 있습니다.

아나콘다 환경 복사

다음 명령어를 이용하여 복사된 가상환경을 활성화 합니다.

$ conda activate test

그리고 아래의 명령어를 실행하여 Python 또는 패키지 버전 등을 확인하면 기존과 동일함을 확인 할 수 있습니다.

$ python --version
$ python -c 'import numpy; print(numpy.version.version);'

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)