티스토리 뷰

개발/python

아나콘다 가상환경

Jaeyeon Baek 2019.01.25 15:42

https://conda.io/en/master/


python 을 가상환경으로 사용할 수 있도록 지원하는 프로젝트중 하나인 conda 를 실무에서 빠르게 사용 할 수 있도록 살펴보도록 합니다. ( 또 다른 가상환경 프로젝트인 virtualenv이쪽을 참고하세요 )

우선 우리가 사용하는 OS 에 맞게 다음 링크에서 아나콘다를 다운로드 받도록 합니다
https://www.anaconda.com/download/

설치가 끝나면 터미널에서 conda 명령어를 통해서 모든 조작이 가능한데 필수적인 옵션을 하나씩 살펴보도록 합시다. ( 실행 화면 등이 포함되어 있기 때문에 PC 버전에서 최적화 되어 있습니다 )



# 버전 확인
: 사용하고 있는 conda 패키지의 버전을 확인한다.

$ conda --version
conda 4.5.12

# 업데이트
: 사용하고 있는 conda 패키지를 업데이트 할 때 사용한다.

conda update

# 가상환경 생성
: 가상환경을 생성한다. 이때 package_spec 을 명시해서 필요한 패키지를 가상환경 생성시에 한번에 설치 할 수 있다. 아래는 가상환경을 생성할 때 python 을 특정 버전으로 지정하고, 머신러닝 툴킷인 tensorflowkeras 를 설치하는 예제이다.

conda create --name YOUR_ENV_NAME python=3.6.5 tensorflow keras

위에 예제처럼 패키지의 특정 버전을 직접 명시하거나 생략 가능하니 필요에 따라 사용하면 된다. 실행에 대한 결과 예시는 다음과 같다.

$ conda create --name keras_p36 python=3.6.5 tensorflow keras
Solving environment: done

## Package Plan ##

  environment location: /Users/caley/anaconda3/envs/keras_p36

  added / updated specs:
    - keras
    - python=3.6.5
    - tensorflow


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    markdown-3.0.1             |           py36_0         107 KB
    keras-applications-1.0.6   |           py36_0          49 KB
    c-ares-1.15.0              |       h1de35cc_1          81 KB
    hdf5-1.10.4                |       hfa1e0ec_0         4.5 MB
    tensorflow-1.12.0          |mkl_py36h2b2bbaf_0           4 KB
    protobuf-3.6.1             |   py36h0a44026_0         608 KB
    scipy-1.2.0                |   py36h1410ff5_0        15.8 MB
    absl-py-0.7.0              |           py36_0         156 KB
    keras-2.2.4                |                0           5 KB
    pyyaml-3.13                |   py36h1de35cc_0         160 KB
    grpcio-1.14.1              |   py36h9011c5e_0         885 KB
    tensorflow-base-1.12.0     |mkl_py36h70e0e9a_0        85.6 MB
    gast-0.2.2                 |           py36_0         138 KB
    _tflow_select-2.3.0        |              mkl           3 KB
    keras-preprocessing-1.0.5  |           py36_0          52 KB
    h5py-2.9.0                 |   py36h3134771_0         971 KB
    keras-base-2.2.4           |           py36_0         457 KB
    six-1.12.0                 |           py36_0          22 KB
    libprotobuf-3.6.1          |       hd9629dc_0         3.8 MB
    werkzeug-0.14.1            |           py36_0         423 KB
    astor-0.7.1                |           py36_0          43 KB
    tensorboard-1.12.2         |   py36haf313ee_0         3.1 MB
    termcolor-1.1.0            |           py36_1           7 KB
    ------------------------------------------------------------
                                           Total:       116.9 MB

...
Proceed ([y]/n)? y


Downloading and Extracting Packages
markdown-3.0.1       | 107 KB    | ############################################### | 100%
keras-applications-1 | 49 KB     | ############################################### | 100%
c-ares-1.15.0        | 81 KB     | ############################################### | 100%
hdf5-1.10.4          | 4.5 MB    | ############################################### | 100%
tensorflow-1.12.0    | 4 KB      | ############################################### | 100%
protobuf-3.6.1       | 608 KB    | ############################################### | 100%
scipy-1.2.0          | 15.8 MB   | ############################################### | 100%
...
# To activate this environment, use
#
#     $ conda activate keras_p36
#
# To deactivate an active environment, use
#
#     $ conda deactivate


# 가상환경 활성화
: 설치되어 있는 가상환경으로 접속한다. ( 엄밀히 이야기하면 내부적으로 현재 터미널의 PATH 와 같은 환경변수를 가상환경으로 설정해주는 과정이 포함된다 ) 

conda activate YOUR_ENV_NAME

# 가상환경 비활성화
: 접속되어 있는 가상환경으로부터 빠져나온다.

conda deactivate

# 가상환경 목록 확인
: 현재 서버에 설치되어 있는 가상환경 목록을 출력한다. 아래는 AWS P Type Instance 에서의 명령어 실행 결과이다.

$ conda env list
# conda environments:
#
base                  *  /home/ubuntu/anaconda3
caffe2_p27               /home/ubuntu/anaconda3/envs/caffe2_p27
caffe_p27                /home/ubuntu/anaconda3/envs/caffe_p27
caffe_p35                /home/ubuntu/anaconda3/envs/caffe_p35
chainer_p27              /home/ubuntu/anaconda3/envs/chainer_p27
chainer_p36              /home/ubuntu/anaconda3/envs/chainer_p36
cntk_p27                 /home/ubuntu/anaconda3/envs/cntk_p27
cntk_p36                 /home/ubuntu/anaconda3/envs/cntk_p36
mxnet_p27                /home/ubuntu/anaconda3/envs/mxnet_p27
mxnet_p36                /home/ubuntu/anaconda3/envs/mxnet_p36
python2                  /home/ubuntu/anaconda3/envs/python2
python3                  /home/ubuntu/anaconda3/envs/python3
pytorch_p27              /home/ubuntu/anaconda3/envs/pytorch_p27
pytorch_p36              /home/ubuntu/anaconda3/envs/pytorch_p36
tensorflow_p27           /home/ubuntu/anaconda3/envs/tensorflow_p27
tensorflow_p36           /home/ubuntu/anaconda3/envs/tensorflow_p36
theano_p27               /home/ubuntu/anaconda3/envs/theano_p27
theano_p36               /home/ubuntu/anaconda3/envs/theano_p36

# 가상환경 삭제
: 사용하지 않는 가상환경을 정리할 때 사용한다. 현재 접속되어 있는 가상환경은 삭제 할 수 없으니 참고하도록 하자.

conda remove --name YOUR_ENV_NAME --all

# 가상환경 추출
: 모든 세팅이 되어 있는 가상환경을 다른 머신으로 복사하고 싶을 때 사용하면 된다. 아래 명령어는 현재 환경을 environment.yml 파일로 저장한다.

conda env export --name YOUR_ENV_NAME > environment.yml

# 추출한 가상환경으로 새로운 가상환경 생성
: 앞서 추출한 environment.yml 로 가상환경을 생성한다. 설치되어 있던 모든 패키지가 자동으로 설치된다.

conda env create -f ./environment.yml


마무리

실무에서 당장 사용할법한 옵션들을 위주로 콘다의 사용 방법을 예제와 함께 살펴보았습니다. 막상 다양한 가상환경을 설치해서 사용하다보면 겪게되는 불편중에 하나가 가상환경 간에 이동인데, 은근히 타이핑이 어렵고 손이 많이갑니다 ( 외워야 하는 것도 많고 ). 그래서 아래와 같이 Conda connector 를 제공하도록 합니다. 동일한 불편을 겪은 분들은 이용해보시는 것도 좋을 듯.

https://github.com/jybaek/conda_connector


'개발 > python' 카테고리의 다른 글

[python] 사용자 데이터셋 셔플  (1) 2019.03.20
[python] The Zen of Python  (0) 2019.03.14
아나콘다 가상환경  (0) 2019.01.25
[3.6.2] numpy 맛보기  (0) 2017.10.02
가상환경(virtualenv)과 jupyter  (0) 2017.09.06
기상청 날씨 API 와 슬랙 연동  (0) 2017.06.14
댓글
댓글쓰기 폼