파이썬 코딩 한줄

pyenv와 virtualenv 활용법 (for Mac)

soopy 2023. 1. 10. 09:57
728x90

기능

pyenv를 활용하면 지정한 디렉토리 따라 다른 버전의 파이썬으로 자동 버전 변경되도록 설정할 수 있다.

또한 virtualenv와 연계해서 가상환경을 사용하면 해당 폴더로 진입할 시 자동으로 가상환경을 activate해주는 편리함이 제공된다.

참고로 pyenv는 맥에서만 작동하지만 2022년 이후 window에서 사용 가능한 pyenv가 있다고 한다.
아래 예시는 맥 사용 예시를 들고있다.

 

설정

brew 설치가 되어있지 않다면 brew 설치를 선행한다.
brew 설치 후 아래 순서를 따라간다.

brew install pyenv

# 설치가 끝나면...

brew install pyenv-virtualenv

brew를 오랜만에 이용하면 brew update부터 진행하므로 시간이 꽤 걸릴 수 있으니 이상하게 여기지 말 것

 

터미널(iterm2)에서 아래 문구를 추가해야 한다.

  • 아래 작업을 거치게되면 특정 경로에 들어설 경우 사전에 지정한 python 버전으로 변경되도록 설정이 가능해진다.
  • vim 으로 #에 해당하는 파일에 접근해서 아래 내용을 추가한다. (ex. vi ~/.bashrc)
  • 본인의 터미널이 bash 기반인지 zsh 기반인지 미리 알아야 한다.

pyenv 설정하기 for bash

# ~/.profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
if [ -n "$PS1" -a -n "$BASH_VERSION" ]; then source ~/.bashrc; fi

# ~/.bashrc
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

pyenv 설정하기 for zsh

# ~/.zprofile (없으면 하나 만들자)
eval "$(pyenv init --path)"

# ~/.zshrc
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

 

 

 

설치 가능한 파이썬 버전을 확인해본다.

pyenv install --list

원하는 버전을 설치해 두자

  • pyenv에 사전에 설치한 파이썬 버전들로만 전환이 가능하므로 원하는 버전의 사전 설치가 필요하다
pyenv install 3.7.13 # 원하는 버전으로 설치할 것

설치가 끝나면 어떤 버전이 설치되어 있는지 확인할 수 있다.
system은 os 자체에 사전에 설치된 파이썬을 뜻한다.

pyenv versions

>> 
system
3.7.13

이제 global과 local 지정을 해준다.

  • pyenv global 3.7.13을 설정하면 이제 글로벌 파이썬 버전은 3.7.13이 되고 어딜가나 더이상 system 버전을 따르지 않는다. pip도 동일하게 동기화된다.
  • pyenv local 3.7.13을 설정하면 현재 위치한 디렉토리와 하위경로에서는 local 지정한 파이썬 버전으로 자동 변경된다. 해당 디렉토리를 벗어나면 다시 global 버전으로 돌아오게 된다.
    • -> 작업환경이 다른경로(다른 파이썬 버전이 필요한 디렉토리) 에 가서 local 설정을 진행한다.

 

이제 local 설정한 디렉토리를 대상으로 가상환경을 추가로 설치해 준다. 이 가상환경은 /Users/사용자이름/.pyenv/version 아래에 설치되며 해당 경로에 대한 심볼링 링크가 현재 디렉토리에 설정된다.

pyenv virtualenv 3.7.13 test-venv

만일 가상환경을 삭제할 경우 pyenv uninstall 가상환경이름 명령을 실행하면 되지만 심볼릭 링크만 삭제되는 것 같다. 그래서 직접 원본 경로에 가서 rm -rf해줘야 완벽히 삭제가 된다. 이렇게 불편하게 만들었을 리가 없을 것 같은데 내 os환경에 문제가 있는 것 같다.

여기까지 완료한 뒤 pip install —upgrade pip까지 완료해주면 이제 local 영역에 들어가는 순간 파이썬 버전이 그에 맞게 자동변경되며 가상환경도 자동으로 activate되는 것을 확인할 수 있다.

728x90
728x90