====== Python VirtualEnv ====== * [[https://pypi.python.org/pypi/virtualenv|VirtualEnv]] * [[python:pipenv|pipenv]] 로 대체될 것으로 보임 * [[python:pyenv|PyEnv]]의 pyenv-virtualenv를 사용할 것. * Python 언어 버전및 관련 패키지를 시스템 환경이 아닌 개인 계정 환경에 격리하여 설치하고 실행할 수 있게 해주는 도구 * virtualenv는 시스템에 존재하는 Python 설치본에 대해 가상의 디렉토리에 링크를 걸고, 새로운 ''site-packages'' 디렉토리를 만들어주어 라이브러리를 프로젝트 단위로 설치할 수 있게 해준다. * Python이 라이브러리를 jar 같은 묶음을 CLASSPATH로 넣는 방식으로 관리하지 않고 Python 설치본의 ''site-packages''에 설치해버리기 때문에 프로젝트 단위의 라이브러리 관리가 힘들어서 나온 방법같다. * [[https://bitbucket.org/dhellmann/virtualenvwrapper|VirtualEnvWrapper]] * [[http://virtualenvwrapper.readthedocs.org|VirtualEnvWrapper Documentation]] ===== 기본 사용법 ===== * VirtualEnv + Wrapper의 설치 sudo pip install virtualenvwrapper # virtualenv 는 자동 설치 * 가상 환경을 저장할 디렉토리를 생성하고, 환경변수에 등록 mkdir ~/.python_virtual_envs # 아래 내용을 ~/.bashrc 에 마지막에 저장한다. export WORKON_HOME=~/.python_virtual_envs source /usr/local/bin/virtualenvwrapper.sh # 각종 PATH 등을 설정해줌. * 가상 환경 생성 mkvirtualenv 가상환경이름 # 기본 생성 mkvirtualenv --python=python2.6 가상환경이름 # 특정 파이썬 버전 지정해서 생성 # 가상환경을 생성/확성화하면 $VIRTUAL_ENV 환경 변수에 디렉토리명이 들어간다. * 가상 환경에 패키지 설치 # 이제부터 실행하는 python, pip등의 명령은 가상 환경에 속한 것들이다. pip install flask * 특정 가상환경 선택 workon 가상환경이름 # 키 누르면 자동 완성됨 * 가상환경 종료 deactivate * 가상환경 디렉토리로 이동 cdvirtualenv * 현재 가상환경의 써드 파티 패키지 전체 삭제 wipeenv * 가상환경 목록 lsvirtualenv * 가상환경 삭제 rmvirtualenv * 모든 가상환경에 대한 명령 실행 # allvirtualenv command with arguments allvirtualenv pip install -U pip ===== 참조 ===== * [[http://docs.python-guide.org/en/latest/dev/virtualenvs/|Virtual Environments]] * [[http://blog.naver.com/ez_/140138625021|VirtualEnvWrapper 사용법]] * [[http://net.tutsplus.com/tutorials/python-tutorials/python-power-tools-virtualenv/|Python Power Tools: virtualenv]] * [[http://net.tutsplus.com/tutorials/python-tutorials/python-power-tools-virtualenvwrapper/|Python Power Tools: virtualenvwrapper]] * [[http://www.sitepoint.com/virtual-environments-python-made-easy/|Virtual Environments in Python Made Easy]] * [[http://code.tutsplus.com/tutorials/python-virtual-environments--cms-26284|Python Virtual Environments]]