사용자 도구

사이트 도구


python:pyenv

PyEnv

  • Python VirtualEnv 를 포괄하는 Python 인스턴스 환경 관리
  • pyenv는 Python을 통째로 사용자 디렉토리에 설치한다. : 즉, 여러가지 JVM 설치와 비슷하다고 보면 된다.
  • virtualenv는 이미 존재하는 Python 설치본에 대해 링크만 걸어서 독립된 프로젝트 환경을 구성하고 해당 가상환경의 site-packages에 라이브러리들을 추가하여 하나의 독립된 프로젝트 환경을 만드는 형태이다. : 즉, 신규 Java 프로젝트를 만들고 거기에 필요한 각종 라이브러리를 JVM 설치본과는 독립적으로 구성해 넣는 것이라고 보면된다.

Install

pyenv installer 사용하기

  • pyenv-installer
    curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
  • update
    pyenv update
  • remove
    rm -rf ~/.pyenv

끝난 뒤에 ~/.bashrc 혹은 ~/.bash_profile에 설치 마지막에 나오는 메시지대로 스크립트를 추가해준다. 현재는

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

사용

운영체제 준비

운영체제 자체에 Python을 컴파일할 수 있는 준비가 돼 있어야 한다. pyenv common build problems

For Ubuntu/Debian

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm

Python 설치

# 설치할 수 있는 파이썬 버전들
pyenv install --list
 
# 특정 버전 설치
pyenv install [versoin]
 
# 설치된 파이썬 버전들
pyenv versions

사용

# 현재 사용자의 전역 Python 버전
pyenv global 3.4.2
 
# 시스템에 설치된 기본 Python
pyenv global system
 
# 현재 shell 상의 버전 변경
pyenv shell 2.7.9 # 현재 shell을 벗어나면 초기화됨.
 
# 현재 사용중인 버전 확인
pyenv version
 
# 특정 디렉토리에서의 파이썬 버전 지정
# 특정 디렉토리에 진입해서 python 관련 명령을 실행하면 local로 지정된 파이썬 인스턴스가 실행된다.
mkdir newproject
cd newproject
pyenv local 2.7.9 # 이 디렉토리에 .python-version 이라는 파일이 생성되면서 버전 지정

pyenv-virtualenv

  • autoenv와 연동하여 Python 프로젝트 진입시점시에 자동으로 virtualenv 환경을 로딩하게 할 것.

설치

# pyenv-installer 사용시 자동 설치됨. 아래 clone 작업 불필요.
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
 
# .bashrc 혹은 .bash_profile에 다음 추가
eval "$(pyenv virtualenv-init -)"

사용

# 가상환경 생성 Python 버전 지정
pyenv virtualenv 2.7.7 [이름]
 
# 가상환경 생성 현재 python 환경으로
pyenv virtualenv [이름]
 
# 가상환경 사용
pyenv shell [이름]
 
# 가상환경 목록
pyenv virtualenvs
 
# 가상환경 활성화/비활성화 - 평소에 안써도 되는데 가끔 꼭 필요할 때가 있음
pyenv activate [이름]
pyenv deactivate
 
# 가상환경 삭제
pyenv uninstall [이름]

참고

python/pyenv.txt · 마지막으로 수정됨: 2016/01/31 03:45 저자 kwon37xi