SSAMKO의 개발 이야기

[python] pyenv로 원하는 파이썬 버전 설치하기 본문

Python

[python] pyenv로 원하는 파이썬 버전 설치하기

SSAMKO 2021. 1. 22. 07:15
반응형

python을 새 서버에서 운영해야 할 때, 버전관련한 이슈가 생기지 않도록, 개발할 때의 파이썬 버전을 필요로 할 때가 있다.

 

이럴때, 단순히 기존의 python을 제거하고, python old version을 받아서 설치하는 방법도 있지만,

pyenv를 이용해 좀 더 세련되게 관리하는 방법에 대해 알아보자.

 

pyenv의 공식 github는 github.com/pyenv/pyenv 이다.

자세한 내용은 여기서 확인이 가능하고,

해당 포스팅의 내용은 이곳에 나와있는 것을 초보자를 위해 꼭 필요한 부분만 한글로 번역해 안내함을 알린다.

 

pyenv의 원리를 간단하게 나타내면, python이라는 명령어에 해당하는 환경변수(PATH)를 그때그때 변경해주는 것이다. 

무슨 말이지 몰라도 괜찮다.

 

pyenv자동 설치는 github.com/pyenv/pyenv-installer 에서 확인할 수 있다.

자동설치는 매우 간단하다.

curl https://pyenv.run | bash
exec $SHELL

curl이 설치되어 있지않다면, 

sudo apt install curl

설치해주자.

 

삭제하고 싶을땐,
$ rm -fr ~/.pyenv
후에, .bashrc 를 열어서, 아래 세 줄을 삭제해주자.

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

그러고 shell 재시작
$ exec $SHELL

 

설치가 완료되었으면, 원하는 파이썬 버전을 설치하기전에 필요한 라이브러리가 설치되었는지 확인하고, 없다면 설치하자.


서버를 처음 세팅하고, 파이썬을 아직 제대로 사용하지 않았다면, 필요할 라이브러리가 아마 없을 것이다.

다음 커맨드로, 필요한 라이브러리를 한번에 설치해주자.

sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

이제 원하는 파이썬 버전을 설치하자. 아래는 python3.6.9버전의 설치 예시

pyenv install 3.6.9

만약, pyenv가 없다는 에러가 뜬다면, 

~/.bashrc 를 열어서 아래 세 줄을 추가해주자

vi ~/.bashrc
export PATH="$HOME/.pyenv/bin:$PATH" 
eval "$(pyenv init -)" 
eval "$(pyenv virtualenv-init -)"

그리고 shell 재시작

exec $SHELL

 

원하는 버전의 파이썬 설치가 끝났다면, 이제 설정을 해주자

파이썬의 버전을 설정해 주는 방법은 크게 3가지가 있다. 

1. 해당 shell을 사용하는 동안만, 

pyenv shell

2. 현재 directory에서만,

pyenv local

3. 전체(어디서든)

pyenv global

실행 방법은 아래와 같다. 전체 버전 설정 예시

pyenv global 3.6.9

이제 python을 실행시키면 3.6.9버전이 실행된다 👍

반응형
Comments