티스토리 뷰
python 을 가상환경으로 사용할 수 있도록 지원하는 프로젝트중 하나인 conda 를 실무에서 빠르게 사용 할 수 있도록 살펴보도록 합니다. ( 또 다른 가상환경 프로젝트인 virtualenv 는 이쪽을 참고하세요 )
우선 우리가 사용하는 OS 에 맞게 다음 링크에서 아나콘다를 다운로드 받도록 합니다
https://www.anaconda.com/download/
설치가 끝나면 터미널에서 conda 명령어를 통해서 모든 조작이 가능한데 필수적인 옵션을 하나씩 살펴보도록 합시다. ( 실행 화면 등이 포함되어 있기 때문에 PC 버전에서 최적화 되어 있습니다 )
# 버전 확인
: 사용하고 있는 conda 패키지의 버전을 확인한다.
$ conda --version
conda 4.5.12
# 업데이트
: 사용하고 있는 conda 패키지를 업데이트 할 때 사용한다.
conda update
# 가상환경 생성
: 가상환경을 생성한다. 이때 package_spec 을 명시해서 필요한 패키지를 가상환경 생성시에 한번에 설치 할 수 있다. 아래는 가상환경을 생성할 때 python 을 특정 버전으로 지정하고, 머신러닝 툴킷인 tensorflow 와 keras 를 설치하는 예제이다.
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] 사용자 데이터셋 셔플 (4) | 2019.03.20 |
---|---|
[python] The Zen of Python (0) | 2019.03.14 |
[3.6.2] numpy 맛보기 (0) | 2017.10.02 |
가상환경(virtualenv)과 jupyter (0) | 2017.09.06 |
기상청 날씨 API 와 슬랙 연동 (0) | 2017.06.14 |
- Total
- Today
- Yesterday