파이썬 버전 관리 ( with pyenv )

정윤수·2022년 9월 9일
0

파이썬 버전 관리

  • 에러 발생이 적은 파이썬 버전을 3.9.1 버전을 써왔는데, 협업을 위해 3.10.4 버전을 써야했다. 그런데 VSC 상에서 파이썬 인터프리터가 제대로 안잡혀서 이를 해결하는 과정 중 pyvenv라는 것을 발견했다. pyenv는 다양한 버전의 파이썬을 관리하는 도구다. 이를 통해서 이전보다 효과적으로 파이썬 버전을 관리하고 VSC에서 인터프리터를 설정하는 과정까지 소개하고자 한다.

pyenv의 필요성

프로젝트 배포진행하면 원격서버에 패키지들을 설치 해줘야 한다.

가상환경을 구성하는 가장 중요한 포인트는 서로 의존성(Dependency)이 필요한 라이브러리들에 구성패키지 버전업이 발생할수 있는

프로젝트에서 정상적으로 잘 관리하기 위한 용도라고 생각 해주시면 됩니다.

이런 부분들을 고려하지 않고 서비스 운영시 발생할 수 있는 위험요소와 서비스 영향도에 대한 문제를 처리하기 힘든 상황이

발생할수 있다.

pyenv를 이용해 파이썬을 설치 하기 전, 필요 패키지 설치

pyenv를 사용해서 파이썬을 설치하기전에, 운영체제별로 반드시 필요한 패키지들이 있습니다. 이 과정을 거치지 않으면 설치한 파이썬이 정상적으로 동작하지 않습니다.아래에 필요 패키지 설치 명령어를 정리해 놓았지만, pyenv의 버전에 따라 설치해야 하는 패키지 목록이 바뀔 수 있습니다. 최신 명령어는 pyenv저장소의 Common build problems를 참조합니다.

macOS

brew install readline xz

pyenv 설치

pyenv는 여러 파이썬 버전을 쉽게 변경할수 있는 환경 변수 설정이라고 보시면됩니다.

주로 환경구성할때 env라는 표현을 사용합니다.

brew install pyenv
brew install pyenv-virtualenv

설치 가능 목록 확인 명령어

pyenv install -list

설치 명령어

pyenv install 3.10.4

파이썬 버전확인

pyenv versions

.bash_profile 수정하기

vim .bash_profile

아래내용을 .bash_profile에 넣어주시고 저장해주세요

-----------------------------

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init -)"

-----------------------------
저장하고 아래 명령어 실행해주세요

source ~/.bash_profile

실제환경에서 사용할 버전 선택

  • 저는 이번에 3.10.0을 설치하였으니
pyenv shell 3.10.4

virtualenv 설치하기

brew install pyenv-virtualenv

.bash_profile 에 가상환경 변수추가

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

가상환경 생성하기

가상환경 생성시 2개의 아규먼트가 추가입니다.

pyenv virtualenv {파이썬 버전} {가상환경이름}

아래처럼

pyenv versions 명령어로 생성된 가상환경 이름과 버전확인이 가능합니다.

pyenv virtualenv 3.10.4 myvenv

# 정상적으로 생성되었는지 확인하는 명령어
pyenv versions

가상 환경 실행 명령

pyenv activate myvenv

가상 환경 종료

source deactivate
brew install readline xz

기본적으로 설치되는 곳

/Users/yoonsu/.pyenv/versions/3.10.4/envs/myvenv

myvenv 파일 옮기기

cp -r /Users/yoonsu/.pyenv/versions/3.10.4/envs/myvenv /Users/yoonsu/Desktop/drf-project/watchmate/backend

결과

  • VSC 상에서 자동으로 pyenv로 만든 인터프리터를 읽어옴을 확인할 수 있었다!! 이제 파이썬 버전관리는 pyenv로 편하게 할 수 있겠다!!!
profile
https://www.youtube.com/watch?v=whoDs0KRc7k&t=1s

0개의 댓글

관련 채용 정보