pyenv로 파이썬 버전 관리하기

2020년 7월 3일 수정

이 글은 pyenv로 여러 버전의 Python을 설치하고 사용하는 방법에 대해 정리한다.

참고로 pyenv 설치 및 설정은 pyenv 설치 및 설정하기 글에서 정리하고 있다.

버전 목록 얻기

--list 커맨드를 이용해 설치할 수 있는 버전 목록을 얻을 수 있다.

pyenv install --list

아마도 상당히 긴 리스트가 나올 것이다. 그리고 일반적인 Python이 아닌 pypy 등 다양한 종류의 인터프리터를 볼 수 있다. 물론 대부분의 경우 제일 상단에 버전 번호만 표기된 것을 살펴보면 된다.

원하는 버전의 파이썬 설치하기

목록에서 원하는 버전을 찾았으면 install 커맨드를 이용해 해당 버전을 설치해보자. 예를 들어 3.8.3 버전을 설치하려면 아래와 같은 커맨드를 사용하자.

pyenv install 3.8.1

이렇게 하면 Python 3.8.1 버전이 설치된다.

pyenv는 버전 관리자인 만큼 당연하게도 여러 버전을 설치할 수 있다. 아래 커맨드로 별도로 2.7.13 버전을 설치할 수 있다.

pyenv install 2.7.13

2.7 버전은 이제는 쓰지 말아야 하겠지만 어쨌든 이것은 예제다.

설치된 버전 확인하기

설치된 버전은 versions 명령으로 확인할 수 있다.

pyenv versions

기본 실행 버전 설정

일단 pyenvPython을 설치 했더라도 바로 사용할 수는 없다. pyenv root 디렉터리에 설치가 되었기 때문이다.

따라서 시스템 기본 파이썬으로 만들어 줄 필요가 있다.

아래 커맨드는 파이썬 3.8.1 버전을 기본 버전으로 설정한다.

pyenv global 3.8.1

이제 에서 python --version 을 입력해서 원하는 버전이 실행되는지 확인해보자.

만약 이렇게 해도 시스템 기본 버전이 실행되는 등 원하는 Python이 실행되지 않는다면 의 환경 설정이 제대로 진행되지 않았을 수도 있다. pyenv글을 참고해서 빠진 설정이 있나 점검해보자.

두 종류 이상의 기본 실행 버전 설정하기

앞서 pyenv는 여러 버전의 Python을 설치할 수 있다고 이야기했다. 좀 특수한 형태지만 아직도 2.x 버전을 쓰는 사람이 있다면 3.x 버전과 공존되는 형태를 원할지도 모른다.

그래서 두 종류 이상의 버전이 설치되어 있다면, 예를 들어 python 3.8.3을 메인으로 쓰고 2.7.13을 보조로 같이 사용하고 싶다면 아래와 같이 설정할 수도 있다.

pyenv global 3.8.3 2.7.13

이렇게 할 경우 python 커맨드로 실행되는 버전은 3.8.3이고, python2 명령으로 실행되는 버전은 2.7.13이 된다.

물론 이제는 Python 2.x 버전은 곱게 보내 줄 때인 것 같지만 말이다.

특정 디렉터리용 버전 설정

어떤 프로젝트에서는 다른 Python 버전을 원할 수도 있다. 이럴 때는 local 명령을 이용할 수 있다.

pyenv local 3.7.3

이 명령을 실행시킨 디렉터리 안에서는 이제 3.7.3 버전이 실행된다. 물론 이 전에 해당 버전이 당연히 설치되어 있어야 한다.

설치 목록 업데이트

가끔 새 버전의 Python이 릴리즈 되었는데 pyenv의 설치 목록에는 아직 구 버전만 보인다면 리스트가 업데이트 되지 않았을 확률이 크다.

아래 커맨드를 이용하면 버전 리스트를 업데이트 할 수 있다.

cd $(pyenv root) && git pull

이렇게 한 뒤에 pyenv install --list 명령으로 최신 버전이 보이는지 확인해보자.

참고로 앞서 설치 과정에서 git clone을 해두지 않았다면 이 과정이 안 될 수도 있다. 이 부분도 pyenv 항목을 참고하자.

삭제하기

사용하지 않는 버전은 uninstall 커맨드로 삭제할 수 있다.

pyenv uninstall 2.7.14