웹사이트 검색

Pyenv - 특정 프로젝트에 여러 Python 버전 설치


Linux 시스템에서 여러 버전의 Python을 관리하는 것은 특히 초보자에게는 쉬운 작업이 아닙니다. 동일한 서버에서 서로 다른 Python 버전을 사용하여 여러 프로젝트를 개발하고 실행하려는 경우 상황이 더욱 악화되는 경우도 있습니다. 그러나 pyenv를 사용하는 경우에는 그렇지 않습니다.

추가 읽기: Linux에 최신 Python 3.6 버전을 설치하는 방법

Pyenv 란 무엇입니까?

Pyenv는 Linux 시스템에서 여러 Python 버전을 관리하기 위한 간단하고 강력한 크로스 플랫폼 도구입니다.

  • 사용자별로 전역 Python 버전을 전환합니다.
  • 프로젝트별로 로컬 Python 버전을 설정합니다.
  • anaconda 또는 virtualenv로 생성된 가상 환경을 관리합니다.
  • 환경 변수로 Python 버전을 재정의합니다.
  • 여러 버전의 Python 등에서 명령을 검색합니다.

pyenv는 어떻게 작동하나요?

일반적으로 애플리케이션 내에서 사용하려는 버전을 명시적으로 지정하지 않는 한 Python의 단일 기본 버전이 모든 애플리케이션을 실행하는 데 사용됩니다. 그러나 pyenv는 여러 버전이 설치된 경우 shim(경량 실행 파일)을 사용하여 사용하려는 올바른 Python 버전에 명령을 전달하는 간단한 개념을 구현합니다.

이러한 shimpyenv에 의해 PATH 앞의 디렉터리에 삽입됩니다. 따라서 Python 명령을 실행하면 적절한 shim에 의해 가로채어 pyenv로 전달됩니다. 그러면 애플리케이션에서 지정한 Python 버전이 설정되고 전달됩니다. 올바른 Python 설치와 함께 명령을 수행합니다. pyenv 작동 방식에 대한 개요입니다.

이 글에서는 Linux에 최신 버전의 pyenv를 설치하는 방법을 보여드리겠습니다. 또한 위에 나열된 처음 세 가지 사용 사례도 시연해 보겠습니다.

Linux에 Pyenv를 설치하는 방법

1. 먼저 각 Linux 배포판에 다음 명령을 사용하여 소스에서 다양한 Python 버전을 설치하는 데 필요한 모든 패키지를 설치합니다.

------------ On Debian/Ubuntu/Linux Mint ------------ 
sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
yum -y install epel-release
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2. 다음으로 Github 저장소에서 최신 pyenv 소스 트리를 가져와서 다음 명령을 사용하여 $HOME/.pyenv 경로에 설치합니다.

git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3. 이제 pyenv를 설치한 경로를 가리키도록 PYENV_ROOT 환경 변수를 설정하고 이를 내보내야 합니다. 그런 다음 PATH$PYENV_ROOT/bin을 추가하여 다른 시스템 명령처럼 pyenv 명령줄 유틸리티를 실행하세요.

또한 셸에 pyenv init를 추가하여 shim자동 완성을 활성화해야 합니다. 표시된 대로 $HOME/.bashrc bash 시작 파일에서 이 모든 작업을 수행하세요.

vim $HOME/.bashrc 

이 파일 끝에 다음 줄을 복사하여 붙여넣습니다.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4. 위와 같이 변경한 후에는 $HOME/.bashrc 파일을 소스로 사용하거나 표시된 대로 셸을 다시 시작할 수 있습니다.

source $HOME/.bashrc
OR
exec "$SHELL"

Linux에 여러 Python 버전을 설치하는 방법

5. 이제 pyenv 사용을 시작할 준비가 되었습니다. Python 버전을 설치하기 전에 이 명령을 사용하여 사용 가능한 모든 버전을 볼 수 있습니다.


pyenv install -l

6. 이제 pyenv를 통해 여러 Python 버전을 설치할 수 있습니다.

pyenv install 3.6.4
pyenv install 3.6.5

7. pyenv에서 사용할 수 있는 모든 Python 버전을 나열하려면 다음 명령을 실행하세요. pyenv 자체를 통해 설치된 버전만 표시됩니다.

pyenv versions

8. 다음 명령을 사용하여 전역 Python 버전을 확인할 수 있습니다. 이때 기본 버전은 pyenv가 아닌 시스템에서 설정한 버전이어야 합니다.

pyenv global

pyenv 명령을 사용하여 전역 Python 버전을 설정할 수 있습니다.

pyenv global 3.6.5
pyenv global

9. 이제 프로젝트별로 로컬 Python 버전을 설정할 수 있습니다. 예를 들어 $HOME/python_projects/test에 있는 프로젝트가 있는 경우 다음을 설정할 수 있습니다. 다음 명령을 사용하여 Python 버전을 만듭니다.

cd python_projects/test
pyenv local 3.6.5
pyenv version		#view local python version for a specific project 
OR
pyenv versions

10. Pyenv는 Python용 virtualenvsconda 환경 관리를 자동화하는 pyenv-virtualenv 플러그인을 통해 가상 환경을 관리합니다. Linux 및 기타 UNIX 계열 시스템에서.

다음 명령을 사용하여 이 플러그인을 설치하여 시작할 수 있습니다.

git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
source $HOME/.bashrc

11. 이제 다음과 같이 project1이라는 프로젝트 아래에 venv_project1이라는 테스트 가상 환경을 생성하겠습니다.

cd python_projects
mkdir project1
cd project1
pyenv virtualenv 3.6.5 venv_project1

12. 이제 모든 Python 버전을 나열하면 스크린샷에 표시된 것처럼 가상 환경과 로컬 Python 버전도 나열되어야 합니다.

pyenv versions

13. virtualenv(예: venv_project1)를 활성화하려면 다음 명령을 입력하세요.

pyenv activate venv_project1

참고: 최신 버전의 pyenv-virtualenv 플러그인을 처음 사용하는 동안 아래 메시지가 표시될 수 있습니다.

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

다른 pyenv 구성을 추가한 $HOME/.bashrc 파일에 export PYENV_VIRTUALENV_DISABLE_PROMPT=1 줄을 추가하고 시뮬레이션할 파일의 소스를 지정합니다. 강조되는 행동.

14. 활성화된 virtualenv를 비활성화하려면 이 명령을 실행하세요.

pyenv deactivate

자세한 내용을 보려면 다음 명령을 사용하여 모든 pyenv 명령을 나열할 수 있습니다.

pyenv commands

자세한 내용을 보려면 pyenv Github 저장소(https://github.com/pyenv/pyenv)로 이동하세요.

추가 읽기: 여러 웹사이트에 여러 PHP 버전을 설치하는 방법

pyenv를 사용하는 것은 정말 간단합니다. 이 가이드에서는 이를 설치하는 방법과 Linux 시스템에서 여러 Python 버전을 관리하는 사용 사례 중 일부를 보여주었습니다. 이 도구에 대해 질문이 있거나 생각을 공유하려면 아래 피드백 양식을 사용하세요.