본문 바로가기
프로그래밍/python

pyenv를 이용한 여러 버전의 파이선 하나의 컴퓨터에서 이용하

by W.C. 2024. 11. 8.
728x90

자꾸 까먹게 되어서 기록으로 남겨 놓는다. 

 

pyenv란?

https://github.com/pyenv/pyenv

 

GitHub - pyenv/pyenv: Simple Python version management

Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.

github.com

해당 오픈 소스 git page로 가면 다음과 같은 문구가 있다.

What pyenv does...

- Lets you change the global Python version on a per-user basis.

사용자별로 글로벌 Python 버전을 변경할 수 있습니다
- Provides support for per-project Python versions.

프로젝트별 Python 버전을 지원합니다
- Allows you to override the Python version with an environment variable.

환경 변수로 Python 버전을 재정의할 수 있습니다.
- Searches for commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox.

한 번에 여러 버전의 Python에서 명령을 검색합니다. 이 기능은 여러 Python 버전에서 톡스를 사용하여 테스트하는 데 유용할 수 있습니다.


In contrast with pythonbrew and pythonz, pyenv does not...

- Depend on Python itself. pyenv was made from pure shell scripts. There is no bootstrap problem of Python.

파이썬 자체에 따라 다릅니다. pyenv는 순수 셸 스크립트로 만들어졌습니다. 파이썬의 부트스트랩 문제가 없습니다.
- Need to be loaded into your shell. Instead, pyenv's shim approach works by adding a directory to your PATH.

셸에 로드해야 합니다. 대신 pyenv의 shim 접근 방식은 경로에 디렉터리를 추가하여 작동합니다. 
- Manage virtualenv. Of course, you can create virtualenv yourself, or pyenv-virtualenv to automate the process.

가상 환경 관리. 물론 가상 환경을 직접 만들거나 pyenv-virtualenv를 사용하여 프로세스를 자동화할 수 있습니다.

 

Mac OS에서 사용방법

(해당 git page에 다 나와 있지만 다시)

 

pyenv 설치

brew update
brew install pyenv

 

pyenv에 신규 파이선버젼 설치

pyenv install -l

 

이렇게 설치 가능한 버젼이 나온다.

 

python version 변경

pyenv global 3.10.8
pyenv local 3.10.8
pyenv shell 3.10.8

 

 

.zshrc에 추가

나 같은 경우는 zsh을 쓰고 있어서 해당 파일에 아래와 같이 추가 해줘야 python 명령이 글로벌하게 동작했다.

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

 

위와 같이 해주면 이제 마음것 python 버전을 입맛에 맞게 선택해서 쓸수 있다.

 

AWS EC2(Amazon Linux 2023)에서 설치

사전 설치 항목

sudo yum install gcc
sudo yum groupinstall -y "Development Tools"
sudo yum install -y git ncurses-devel libffi
sudo yum install libffi-devel readline-devel bzip2-devel openssl-devel sqlite-devel

 

pyenv 자동 설치

curl https://pyenv.run | bash

 

PATH 설정

$vi ~/.bashrc

export PYENV_ROOT="/home/ec2-user/.pyenv"
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

$source ~/.bashrc

 

이렇게 하면 ec2에서도 설치 가능하다 사용 방법은 위에서 나와 있는 것처럼 사용하면 된다.