pyenv
https://github.com/pyenv/pyenv
- python version 및 virtual environment를 관리하기 위해서 사용
- 폴더별로 어떤 환경을 사용할 것인지 설정하면 자동으로 activate 되기 때문에 매우 편리
Install pyenv
1
2
3
4
5
6
7
8
$ brew install pyenv
$ brew install pyenv-virtualenv
$ brew install pyenv-which-ext
$ vim ~/.zshrc 또는 vim ~/.bash_profile
# pyenv
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Install python versions
1
2
3
4
$ pyenv install --list
$ pyenv install 2.7.14
$ pyenv install 3.6.3
$ pyenv install miniconda3-4.3.30
Create a virtual environmen
1
2
3
4
$ pyenv virtualenv 2.6.14 myenv2
$ pyenv virtualenv miniconda3-4.3.30 myenv3
# [Ana|mini]conda 환경은 자동으로 conda로 생성
Activate and deactivate virtual environments
1
2
3
4
5
6
7
8
9
10
11
$ pyenv activate myenv2
(myenv2) $ python -V
$ pyenv activate myenv3
# [Ana|mini]conda 환경을 activate했을 때, '... in not a virtualenv' 에러가 발생한다면
# 관련 이슈: https://github.com/pyenv/pyenv-virtualenv/issues/178
$ ln -s ~/.pyenv/versions/miniconda3-4.3.30/bin/activate ~/.pyenv/versions/miniconda3-4.3.30/envs/myenv3/bin/
$ ln -s ~/.pyenv/versions/miniconda3-4.3.30/bin/conda ~/.pyenv/versions/miniconda3-4.3.30/envs/myenv3/bin/
(myenv3) $ conda env list
pyenv 설정하기
1
2
3
4
5
6
7
8
9
10
11
$ cd myproject
$ pyenv versions
# system global한 기본 python 환경 지정
$ pyenv global myenv2
# 현재 shell session에서 사용할 python 환경 지정
$ pyenv shell myenv3
# 폴더에서 계속 사용할 python 환경 지정 (폴더 진입시 자동 activation)
$ pyenv local myenv3