소개
Pyenv-win은 Windows에서 여러 버전의 Python을 손쉽게 관리하고 전환할 수 있게 해주는 오픈소스 도구입니다. 기존의 Unix용 pyenv를 Windows 환경에 맞게 포팅한 것으로, 시스템 전역 또는 특정 폴더별로 사용할 Python 버전을 설정할 수 있습니다. MIT 라이선스로 배포되며, PowerShell을 통해 간편하게 설치할 수 있습니다.
상세정보
Python 버전 설치 및 관리
지원되는 Python 버전 목록을 확인하고 필요한 버전을 설치할 수 있습니다. 한 번의 명령으로 여러 버전을 동시에 설치하는 것도 가능합니다.
- 설치 가능한 버전 목록 확인:
pyenv install -l - 특정 버전 설치:
pyenv install 3.8.2 - 여러 버전 동시 설치:
pyenv install 2.7.18 3.8.2 - 설치된 버전 제거:
pyenv uninstall 3.8.2
버전 전환 및 설정
시스템 전역 기본 버전 또는 특정 프로젝트 폴더에 맞는 로컬 버전을 설정할 수 있습니다.
- 전역 기본 Python 버전 설정:
pyenv global 3.8.2 - 현재 폴더 전용 로컬 버전 설정:
pyenv local 3.8.2 - 현재 활성화된 버전 확인:
pyenv version - 시스템에 설치된 모든 버전 목록:
pyenv versions
환경 shim 관리
Python 버전을 전환한 후에는 pyenv rehash 명령을 실행하여 shims를 업데이트해야 합니다. 이를 통해 올바른 Python 실행 파일과 라이브러리가 경로에 설정됩니다.
설치 검증
설치 후 명령 프롬프트를 다시 열고 pyenv --version을 실행하여 설치가 성공했는지 확인합니다. Visual Studio Code나 IDE의 내장 터미널을 사용하는 경우 터미널을 다시 시작해야 할 수 있습니다.
Python 설치 및 사용 흐름
pyenv install -l로 지원되는 Python 버전 목록을 확인합니다.pyenv install 3.8.2와 같이 원하는 버전을 설치합니다.pyenv global 3.8.2로 기본 Python 버전을 설정합니다.python -c "import sys; print(sys.executable)"로 올바른 Python 경로가 설정되었는지 확인합니다.
이런 경우에 유용합니다
- 여러 Python 프로젝트를 동시에 개발하면서 각각 다른 Python 버전이 필요할 때
- 레거시 Python 버전(2.x)이 필요한 오래된 프로젝트와 최신 Python 3.x 프로젝트를 같은 시스템에서 관리할 때
- Python 버전을 전환할 때마다 시스템 전체 설정을 변경하지 않고 싶을 때
- 기존 Python 설치에 영향을 주지 않고 새로운 Python 버전을 테스트해보고 싶을 때
지원 환경·시스템 요구사항
Pyenv-win은 Windows 시스템에서 동작합니다. 기본적으로 64비트 Python 버전을 지원하며, 32비트 버전도 설치할 수 있습니다. Windows 10 1905 이상을 사용하는 경우 내장 Python 런처를 비활성화해야 할 수 있습니다.
최신 버전·업데이트
pyenv-win의 설치된 버전을 업데이트하려면 설치 방법에 따라 다른 절차를 따릅니다.
- pip로 설치한 경우:
pip install --upgrade pyenv-win - Git으로 설치한 경우: 설치 경로에서
git pull실행 - ZIP으로 설치한 경우: 최신 ZIP을 다운로드하여 libexec 및 bin 폴더를 교체
- 설치 프로그램으로 설치한 경우: PowerShell에서
&"${env:PYENV_HOME}install-pyenv-win.ps1"실행
제한 사항·확인 사항
- Python 2.4 미만 버전은 지원되지 않습니다.
- Windows 10 1905 이상에서는 내장 Python 런처(App Installer)를 비활성화해야 할 수 있습니다.
- 일부 비조용(non-silent) 설치 과정에서 설치 마법사가 나타날 수 있으며, 옵션 변경 없이 진행하면 됩니다.
- pip로 라이브러리를 설치하거나 버전 폴더의 파일을 수정한 후에는 반드시
pyenv rehash를 실행해야 합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


