• 티스토리 홈
  • 프로필사진
    홀쑥
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
홀쑥
  • 프로필사진
    홀쑥
    • 분류 전체보기 (57)
      • Language & Framework (14)
        • Java (1)
        • Python (13)
      • DataBase (4)
        • NoSQL (1)
        • RDBMS (3)
      • Big Data & Ecosystem (9)
        • Hadoop (5)
        • Hive (2)
        • Sqoop (1)
        • Zeppelin (1)
      • Data Engineering (1)
        • Airflow (1)
      • Cloud & DevOps (1)
        • AWS (0)
        • GCP (1)
      • Monitoring & Logging (2)
        • ElasticSearch (2)
      • Infrastructure (12)
        • OS (12)
        • Docker (0)
        • Kubernetes (0)
      • Algorithm & CS (7)
        • 백준 알고리즘 (6)
      • Troubleshooting (5)
        • 오류 모음 (5)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 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을 관리할 수 있으니 항상 습관화 해야할 것 같다.

        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바