[Python] 파이썬 개발 환경 구축하기(1) Pyenv

whatSup CheatSheet·2022년 9월 25일
0
post-thumbnail

본 글은 Ubuntu 22.04.1 LTS 환경에서 진행하였습니다.

Pyenv란?

  • Pyenv란 다양한 버전의 파이썬을 관리하기 위한 오픈소스입니다.

Pyenv가 필요한 경우

  • 사용자 별로 전역 파이썬 버전을 변경하고 싶은 경우
  • 프로젝트 별로 상이한 버전의 파이썬이 필요한 경우
  • 최신 버전의 파이썬을 한 번 사용해보고 싶으나, 현재 사용하고 있는 라이브러리와 종속성이 유지되길 원하는 경우
  • 한 번에 여러 버전의 Python에서 커멘드를 검색하고 싶은 경우

Pyenv 설치 & 제거

Pyenv-Installer를 이용하여 Pyenv 설치하기

  • 아래 커맨드로 Pyenv(Python) 빌드를 위한 Prerequisites를 설치합니다.
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \ 
python-openssl git

만약 E: Unable to locate package python-openssl 오류 발생 시

  sudo apt-get update
  sudo apt-get install python-openssl

로 설치해줍니다.

  • 다음 명령어로 Pyenv를 설치합니다.
curl https://pyenv.run | bash
  • 명령이 전역적으로 인식되도록 경로를 추가해줍니다.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
  • 다음 명령어로 쉘을 재시작하여 새로운 변경사항들이 적용되도록 합니다.
exec $SHELL
  • pyenv --help를 입력하여 다음과 같이 정상적으로 출력되는지 확인합니다.
pyenv --help

Pyenv 제거하기

  • 다음 명령어로 Pyenv 파일을 삭제합니다.
rm -rf $(pyenv root)
  • 위에서 입력한 설정을(.bashrc에서)지워줍니다.
  • 다음 명령어로 쉘을 재시작하여 새로운 변경사항들이 적용되도록 합니다.
exec $SHELL

Pyenv 사용하기

Pyenv: Python 설치 & 제거

# 설치가능한 파이썬 버전들을 보여줍니다.
pyenv install -l` 

# 버전이름의 파이썬을 설치합니다.
pyenv install -v <버전>

# 버전 이름의 파이썬을 삭제합니다.
pyenv uninstall <버전>

# 설치된 파이썬 버전들을 출력합니다.
pyenv versions

Pyenv: Python 버전 변경하기 (Global, Local, Shell)


Pyenv에서는 Python 버전 변경을 위해 3가지 접근방법(Shell, Local, Global)을 제시하고 있습니다. 피라미드 위쪽부터 아래쪽 순서로 파이썬 버전을 사용하게 됩니다.

예를 들어, Global Python(3.10.6)과 Systemm Python(3.8.10) 있다면, 파이썬은 Global 버전을 인식할 것입니다.

1. Global(전역)

# 글로벌 버전을 설정합니다. 
pyenv global <버전>

# 글로벌 버전이 무엇인지 출력합니다.
cat ~/.pyenv/version

2. Local

# 로컬 버전을 설정합니다.
Pyenv local <버전>

# 로컬 버전이 무엇인지 출력합니다.
cat .python-vsersion

# 로컬 버전을 삭제합니다.
pyenv local --unset

3. Shell

# 쉘 버전을 설정합니다.
pyenv shell <버전>`

# 쉘 버전을 삭제합니다.
pyenv shell --unset

pyenv-virtualenv로 가상환경 사용해보기

Pyenv-virtualenv는 다양한 파이썬 버전을 위한 가상 환경을 관리합니다.

  • pyenv 는 여러 버전의 Python을 관리합니다
  • virtualenv/venv 는 특정 Python 버전에 대한 가상 환경을 관리합니다.
  • pyenv-virtualenv 는 다양한 Python 버전을 위한 가상 환경을 관리합니다.
# 가상환경을 생성합니다.
pyenv virtualenv <python_version> <environment_name>

# 가상환경을 활성화합니다.
pyenv activate <environment_name>

# 가상환경을 비활성화합니다.
pyenv deactivate

# 모든 가상환경 리스트를 출력합니다.
pyenv virtualenvs

# 가상환경을 삭제합니다.
pyenv virtualenv-delete <environment_name>

Reference

profile
AI Engineer : Lv 0

0개의 댓글