pyenv는 시스템에 설치된 python 런타임 대신 사용자가 독자적으로 python 런타임을 선택할 수 있도록 분리해주는 도구임
macOS
brew install python pyenv
Linux
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bashrc에 다음 추가
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
if command -v pyenv > /dev/null; then
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
fi
원하는 버전의 바이너리 설치
pyenv install --list
pyenv install 3.10.4
pyenv shell 3.10.4
virtualenv는 시스템에 설치된 python 라이브러리 모듈(기본 모듈 및 사용자 설치 모듈) 대신에 특정 애플리케이션을 위한 독립적인 라이브러리 모듈 의존성을 분리해서 사용할 수 있는 도구임
macOS
brew install pyenv-virtualenv
Linux
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
.bashrc에 다음 내용을 추가한다. 위에서 pyenv 설정을 했던 위치 하단에 바로 붙여서 추가해준다.
eval "$(pyenv virtualenv-init -)"
v3라는 이름의 가상환경을 3.5.2 버전을 기반으로 해서 만들어냄
pyenv virtualenv 3.10.4 v3
현재 사용 중인 버전 확인
pyenv version
system이라고 나오면 시스템에 설치된 기본 바이너리 사용 중임을 의미함
설치되어 있는 전체 버전 목록 확인
pyenv versions
pyenv shell v3
pyenv activate
프롬프트에 환경이름이 노출됨
pyenv deactivate
가상환경에서 빠져 나옴
activate는 프롬프트에 환경이름을 노출하는 것 뿐만 아니라 deactivate를 통해 가상환경에서 빠져나올 수 있도록 미리 준비해 줌
pyenv global system
기본 버전으로 system(보통 2.7.x) 버전을 이용하겠다는 의미
pyenv local v3
pyenv: no such command `shell'
다음 코드를 .bashrc에 추가
eval $(pyenv init -)