pyenv

노재원·2022년 7월 28일
0

python

목록 보기
1/3
post-thumbnail

Overview


한 컴퓨터에 여러 파이썬 버전이 필요한 상황에서, 여러 파이썬을 설치하고 쉽게 전환하는 등의 관리를 쉽게 할 수 있도록 돕는 툴

Install


공식 깃헙에 잘 나와있으니 아래 링크를 참조

https://github.com/pyenv/pyenv-installer

How it works


  • pyenv가 PATH의 맨 앞에 shim 경로를 추가하여 python 이나 pip 명령어를 사용자가 입력했을 때 shim으로 가도록 유도한다.

  • Shims이란?

    사용자가 입력한 명령어를 pyenv로 전달하는 아주 가벼운 실행파일이다.

    pip 이름의 shim 코드

    #!/usr/bin/env bash
    set -e
    [ -n "$PYENV_DEBUG" ] && set -x
    
    program="${0##*/}"
    
    export PYENV_ROOT="/root/.pyenv"
    exec "/root/.pyenv/libexec/pyenv" exec "$program" "$@"
  • pyenv의 python selection

    1. PYENV_VERSION 환경변수 값 확인. pyenv shell 명령어로 해당 환경변수에 파이썬 버전이 적힌다.

    2. 현재 경로에서 .python-version 파일을 확인한다. pyenv local 명령어로 해당 파일에 파이썬 버전을 명시한다. 현재 위치부터 위로 올라가면서 root폴더까지 .python-version 파일을 찾는다.

    3. $(pyenv root)/version 파일을 확인한다. pyenv global 명령어로 해당 파일에 파이썬 버전을 명시한다.

How to use


  • 설치 가능한 파이썬 리스트

    pyenv install —list
  • 설치된 버전들 확인

    pyenv versions
  • 특정 버전의 파이썬 제거

    pyenv uninstall 3.10.4
  • 파이썬 버전 선택하기

    버전 선택할 때 사용하는 명령어는 shell, local, global, 총 3개가 있다. 그림에서도 쉽게 파악할 수 있듯이 shell → local → global → system 순으로 파이썬 버전을 체크하므로, 만약 shell 단계에서 파이썬 버전이 명시되어 있다면 local이나 global에 파이썬 버전이 명시되어 있어도 바로 shell의 파이썬을 사용한다.

    1. shell

      # 3.10.5 파이썬 사용
      pyenv shell 3.10.5
      python3 -V
      # 설정 해제
      pyenv shell --unset
    2. local

      # 3.10.5 파이썬 사용
      pyenv local 3.10.5
      python3 -V
      # 설정 해제
      pyenv local --unset
    3. global

      # 3.10.5 사용
      pyenv global 3.10.5
      python3 -V
  • 가상환경 사용하기

    1. 생성

      # pyenv virtualenv <python-version> <virtualenv-name>
      pyenv virtualenv 3.10.5 test
    2. 활성화

      # pyenv activate <virtualenv-name>
      pyenv activate test
    3. 비활성화

      pyenv deactivate
    4. 만들어진 가상환경 조회

      pyenv virtualenvs
    5. 가상환경 삭제

      
      # pyenv uninstall <virtualenv-name>
      pyenv uninstall test

0개의 댓글