안녕세계

[장고 AtoZ] pyenv, virtualenv 본문

[장고 AtoZ] pyenv, virtualenv

Junhong Kim 2018. 2. 2. 17:37
728x90
반응형

pyenv란?

로컬에 다양한 Python 버전을 설치할 수 있도록 합니다.
또한, pyenv를 사용함으로써 Python 버전에 대한 의존성을 해결할 수 있습니다.

설치

NOTE : homebrew를 최신 버전으로 업데이트 후 pyenv를 설치하세요.

$ brew update $ brew install pyenv

환경변수 추가

$ vi ~/.bash_profile
# pyenv export PATH="$HOME/.pyenv/bin:$PATH" if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

설치 가능한 버전 리스트

$ pyenv install -list

파이썬 설치

$ pyenv install [python-version]

파이썬 삭제

$ pyenv uninstall [python-version]

파이썬 사용

$ pyenv shell [python-version]

현재 파이썬 버전 확인

NOTE : default로 system이 설정되어 있으며, 이는 로컬에 설치된 Python입니다.

$ pyenv version

설치된 파이썬 버전 목록

$ pyenv versions

virtualenv란?

로컬에는 단 하나의 파이썬 버전을 설치할 수 있습니다.
예를 들어, 로컬에 Python 3.5.x 버전과 3.6.x 버전을 동시에 사용할 수 없습니다.
즉, ProjectA에서는 Python 3.5.x 버전을 사용하고, ProjectB에서 3.6.x 버전 사용이 불가능합니다.

위 문제점을 해결하기 위해 virtualenv를 사용합니다.
virtualenv를 사용하면 두 가지 이상의 Python 버전을 내 로컬 프로젝트 각각 적용할 수 있습니다.

설치

NOTE : pyenv를 이용하여 virtualenv까지 관리할 것이므로 pyenv-virtualenv를 설치합니다.

$ brew install pyenv-virtualenv
환경변수 추가
$ vi ~/.bash_profile
# pyenv-virtualenv if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
가상환경 생성
$ pyenv vritualenv [python-version] [virtualenv-name]
가상환경 확인
$ pyenv virtualenvs
가상환경 사용
$ pyenv shell [virtualenv-name]
가상환경 삭제
$ pyenv uninstal [virtualenv-name]
가상환경 설정/해제

NOTE : 프롬프트 앞에 가상환경 이름이 보이면 activate 상태입니다.

$ pyenv actiavate $ pyenv deactivate
현재 디렉토리를 특정 가상환경으로 설정
$ pyenv local [virtualenv-name]

NOTE :
pyenv local 명령어를 입력하면 디렉토리에 .python-version 파일이 생성됩니다. 이 파일에 작성된 내용을 읽어드려 디렉토리를 해당 가상환경으로 activate 하며, 디렉토리를 빠져나오면 자동으로 deactivate 됩니다. 수동으로 activate또는 deactivate 명령어를 입력할 필요가 없어지기 때문에 이 방법으로 가상환경을 설정하는 것을 추천합니다.

[참고]
https://github.com/yyuu/pyenv
https://github.com/yyuu/pyenv-virtualenv
http://ohgyun.com/701

728x90
반응형

'Server > Django' 카테고리의 다른 글

[장고 AtoZ] settings.py 파일 분할  (0) 2018.02.05
[장고 AtoZ] SECRET KEY 분리  (1) 2018.02.05
[장고 AtoZ] Django 서버 실행  (0) 2018.02.02
[장고 AtoZ] homebrew  (0) 2018.02.02
[장고 AtoZ] Intro  (0) 2018.02.02
Comments