- Rocky Linux에 pyenv 설치2024년 12월 02일
- 홀쑥
- 작성자
- 2024.12.02.:39
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
pyenv은 여러 Python version들을 쉽게 교체할 수 있게 해준다. pyenv는 rbenv(ruby 버전관리)와 ruby-build를 fork해서 Python에 맞게 수정했다고 한다.
pyenv는 사용자별로 Global Python version을 변경할 수 있으며 프로젝트 별 Python version을 설정할 수 있다. 또 환경변수와 함께 Python version을 재정의 할 수 있게 해주며, 한 command로 여러 버전의 파이썬을 검색할 수 있고 tox(가상환경 테스트 도구)으로 Python version들 사이에서 더 쉽게 test 할 수 있게 해준다.
pyenv는 순수 shell scripts로 만들어져 Python에 의존적이지 않으며 환경변수
PATH
에 디렉토리를 추가하여 shim방식(명령어 가로채기)으로 중간에 개입한다.virtualenv를 관리하지만 사용자가 virtualenv를 생성하거나, pyenv-virtualenv를 사용하여 생성할 수 있다.
설치
사전 준비
pyenv를 설치하기 위해선 git이 필요하다.
Rocky9에선 dnf를 사용하여 간단히 git설치가 가능하다.
sudo dnf install -y git
pyenv 설치
여기에선 Rocky Linux9(WSL2)에 설치하기에 다음과 같은 방법들로 설치할 수 있다.
1. 자동 설치(권장)
curl https://pyenv.run | bash
(이렇게 설치할 땐 pyenv-doctor, pyenv-update, pyenv-virtualenv 플러그인이 함께 설치된다)
2. Github checkout 설치
Pyenv를 설치하고 싶은 곳에 git clone한다. 좋은 저장장소는
$HOME/.pyenv
라고 하나 어디든 설치가 가능하다.git clone https://github.com/pyenv/pyenv.git ~/.pyenv
추가적으로, 더 빠른 pyenv를 위해 동적 bash를 compile할 수 있다.
cd ~/.pyenv && src/configure && make -C src
3. Homebrew(MacOS)
만약 Homebrew가 설치되어 있다면 더 쉽게 설치가 가능하다.
brew update brew install pyenv
여기에서는 1번 방법으로 pyenv를 설치했다.
1번 명령어를 입력 시 추가적인 작업을 하라는 메세지가 나온다.
shell 환경변수 설정
1. Bash
공식 github에선 Bash 시작파일들이 배포판마다 상이하기에 어떤 상황에서도 안정적이도록
.bashrc
뿐만아니라.profile
,.bash_profile
,.bash_login
파일 중 존재하는 것들에 같은 명령어를 추가하라고 권장한다.Rocky Linux 9에선 .bashrc와 .bash_profile이 존재하기에 두 부분에 명령어를 추가하기 위해 다음 명령어를 입력한다.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
shell 재시작
PATH 환경변수의 변경을 위해 쉘을 재시작한다.
exec "$SHELL"
pyenv 확인
pyenv --version
을 통해 pyenv가 성공적으로 설치 되었는지 확인한다.권장 빌드 환경 구축
pyenv로 Python을 다운로드하고 컴파일할 때 실패하거나 이상한 문제가 발생할 수 있는데 주로 시스템 종속성 또는 빌드환경 설정부족에서 비롯된다고 한다. 이를 방지하기 위해 다음 명령어로 필수 시스템 패키지들을 설치한다.
Home
Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.
github.com
해당 링크에 다양한 OS 별 필수 시스템 패키지 설치 명령어에 대해 안내하고 있으며 여기에선 Rocky Linux 9 기준으로 설치한다.
Rocky Linux는 CentOS/Fedora 21 and below 탭의 패키지들을 설치하되 yum이 아닌 dnf로 설치가 가능하다.
sudo dnf install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel -y
이로서 pyenv 설치를 완료했다.
Python install
pyenv는 간단한 명령어로 원하는 version의 Python을 설치할 수 있다.
pyenv install 3.8.20 pyenv install 3.8 pyenv install 3.8:latest pyenv install 3:latest
python 3.8로 설치하는 예 install에 major, minor, patch 버전들을 전부 입력할 수도 있고, 뒤에서부터 뺄 때는 latest로 설치되게 된다.
또한 설치 가능한 Python version들을 다음 명령어로 확인할 수 있다.
pyenv install --list
이렇게 설치한 Python을 global, local 등의 명령어를 통해 전역 shell에서 사용, project에서의 사용 등으로 설정할 수 있다.
자세한 명령어는 다음 링크에 있다.
pyenv/COMMANDS.md at master · pyenv/pyenv
Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.
github.com
pyenv global로 python version을 설정하면
~/.pyenv/version
에 Python version이 기입되어 사용자의 전역 설정이 되고, local로 python version을 설정하면 해당 디렉토리에.python-version
에 Python version이 기입된다.~/.pyenv/version 내용 이렇게 pyenv를 성공적으로 설치하고, 간단하게 사용해보았다.
pyenv와 poetry를 함께 사용한다면 더욱 효율적으로 프로젝트의 Python을 관리할 수 있으니 항상 습관화 해야할 것 같다.
다음글이전글이전 글이 없습니다.댓글