python을 사용한다면 필수적으로 사용하게될 가상환경!
pyenv, virtualenv에 대해서 간단히 정리해 본다. (리눅스 ubuntu 기준)
파이썬은 크게 2.x버젼과 3.x버젼이 존재하고, 또 다양한 버젼이 존재한다.
만약 특정 라이브러리를 사용하기 위해 3.54버젼을 사용해야 한다면?
동시에 다른 프로젝트는 3.6.5버젼으로 사용해야 한다면?
이럴때, pyenv가 문제를 해결해 준다.
디렉토리별로 원하는 버젼으로 격리된 환경을 가능하게 한다.
pyenv로 원하는 python 버젼을 설치하고, 가상환경을 만든다.
그리고 디렉토리에 적용할 가상환경을 적용한다.
즉, 아래와 같은 흐름이다.
pyenv -> 버젼설치 -> 가상환경생성 -> 적용할 디렉토리에 반영
당연히 가상환경은 여러개 생성 가능하다.
만약 py36이라는 가상환경이 project1, project2에 적용되어 있다면,
project1과 project2는 동일한 환경을 공유한다.
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
pyenv versions
pyenv install --list
pyenv install <version-you-want>
pyenv uninstall <version-you-want>
pyenv install 3.9.1
pyenv virtualenv 3.9.1 py39
cd test
pyenv local py39
(py39) mhlee@pop-os:~/test$