pyenv

Pyenv & Autoenv

파이썬으로 개발을 하다보면, A 환경에선 버전 1의 패키지가 필요하고 B라는 환경에서는 버전 2의 패키지가 필요한 경우가 있다.

그럴때마다 직접 삭제하고, 새로 설치하다보면 분명 실수도 초래할 수 있을 것이다.

파이썬에서는 친절하게 가상환경을 제공하기 때문에, 서로 각자 영향이 가지 않는 환경을 구축해 다른 패키지들을 관리할 수 있다.

오늘 다루는 pyenv는 linux 환경에서 제공되고, 파이썬을 버전별로 다룰 수 있다는게 정말 좋은 거 같다.

pyenv 설치


sudo apt-get -yq install make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev

# pyenv 설치
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

# pyenv 설정
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

# 마지막에 source로 새로 적용시켜줘야 명령어를 사용할 수 있다.
source ~/.zshrc

명령어 정리

명령어 설명 비고
brew upgrade pyenv pyenv 버전 업그레이드  
pyenv –version pyenv 버전 확인  
pyenv install 파이썬 버전 해당 파이썬 버전 설치  
pyenv uninstall 파이썬 버전 해당 파이썬 버전 삭제 y or n 입력
pyenv virtualenv 파이썬 버전 프로젝트이름 해당 파이썬 버전으로 가상 환경 생성  
pyenv deactivate 가상환경 종료  

autoenv 설치

# git clone을 해서 받아온다.
git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv
# zsh에 동작할 수 있게끔 추가하고 반영해준다.
echo 'source ~/.autoenv/activate.sh' >> ~/.zshrc
source ~/.zshrc

# 원하는 디렉토리를 들어가면 자동으로 명령어가 실행되게 .autoenv파일을 생성해준다.
touch .env
echo "pyenv activate test-pyenv" > env

# 이후 해당 디렉토리에 한 번 들어가면 다음과 같이 나타나는데, y 입력해주면 된다.
autoenv:
autoenv: WARNING:
autoenv: This is the first time you are about to source /Users/seokju/Desktop/seokju_study/dongguk_food/.env:
autoenv:
autoenv:   --- (begin contents) ---------------------------------------
autoenv:     pyenv activate dongguk_food$
autoenv:
autoenv:   --- (end contents) -----------------------------------------
autoenv:
autoenv: Are you sure you want to allow this? (y/N) y