본문 바로가기
카테고리 없음

Windows에서pyenv-win 설치법

by YJHTPII 2025. 1. 8.
반응형

 

Windows에서는 pyenv-win 이란 걸 이용하여 pyenv를 설치할 수 있다

 

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

 

GitHub - pyenv-win/pyenv-win: pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch bet

pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of s...

github.com

 

PowerShell
The easiest way to install pyenv-win is to run the following installation command in a PowerShell terminal:

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

If you are getting any UnauthorizedAccess error as below then start Windows PowerShell with the "Run as administrator" option and run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine, now re-run the above installation command.

& : File C:\Users\kirankotari\install-pyenv-win.ps1 cannot be loaded because running scripts is disabled on this system. For
more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:173
+ ... n.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~ 
 + CategoryInfo          : SecurityError: (:) [], PSSecurityException 
 + FullyQualifiedErrorId : UnauthorizedAccess

For more information on 'digitally signed' or 'Security warning' you can refer to following issue #332

Installation is complete!

Return to README

 

If you are getting any UnauthorizedAccess error as below then start Windows PowerShell with the "Run as administrator" option and run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

 

 

> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

>Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1" 

 

pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.

pyenv

pyenv 3.1.1

Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands     List all available pyenv commands
   duplicate    Creates a duplicate python environment
   local        Set or show the local application-specific Python version
   latest       Print the latest installed or known version with the given prefix
   global       Set or show the global Python version
   shell        Set or show the shell-specific Python version
   install      Install a Python version using python-build
   uninstall    Uninstall a specific Python version
   update       Update the cached version DB
   rehash       Rehash pyenv shims (run this after installing executables)
   vname        Show the current Python version
   version      Show the current Python version and its origin
   version-name Show the current Python version
   versions     List all Python versions available to pyenv
   exec         Runs an executable by first preparing PATH so that the selected Python
   which        Display the full path to an executable
   whence       List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv-win/pyenv-win#readme

 

 

 

https://velog.io/@pikamon/Python-3

 

[Python] 윈도우에서 pyenv 설치하기 (pyenv-win)

pyenv란 여러 개의 Python 버전을 관리하고 각 Python 버전을 이용하여 가상 환경을 구축할 수 있도록 도와주는 도구이다.파이썬 프로젝트마다 개발에 이용한 Python의 버전이 다를 수 있는데, pyenv를

velog.io

 

 

 

4. pyenv 간단 사용법

간단 사용을 위한 명령어는 아래와 같다.

  1. Python 버전 설치하기 / 삭제하기
    pyenv install
    pyenv uninstall
  2. PC에 설치된 Python 버전 조회하기
    pyenv versions
  3. 해당 Python 버전으로 설정하기
    pyenv global
    pyenv local
    pyenv shell
  4. 현재 적용된 Python 버전 조회하기
    pyenv version

4-1. pyenv install / pyenv uninstall

원하는 버전의 Python을 PC에 설치할 때는 pyenv install을 이용하면 된다.

예) Python 3.12.3 버전이 필요할 때

pyenv install 3.12.3

위와 같이 입력하면 아래와 같이 해당 버전이 설치되는 것을 볼 수 있다.

만약 버전을 잘못 설치했거나, 해당 버전이 필요없어졌을 경우에는 pyenv uninstall로 삭제할 수 있다.

pyenv uninstall 3.12.3

4-2. pyenv versions

현재 PC에 설치된 파이썬 버전들을 보려면 pyenv versions 를 입력한다.

pyenv versions

입력하면 아래와 같이 설치된 파이썬 버전들을 볼 수 있다.

4-3. pyenv global / pyenv local / pyenv shell

pyenv에서는 3계층으로 파이썬 가상 환경을 제공하는데,

각 계층은 이름으로 유추할 수 있듯 아래와 같다.

  1. global : PC 전역에서 사용하는 파이썬 버전
  2. local : 현재 프로젝트에서 사용하는 파이썬 버전
  3. shell : 현재 쉘 세션에서 사용하는 파이썬 버전

global은 일반적으로 파이썬 설치 파일을 통해 PC에 설치해서 쓰는 것처럼, PC 전역에서 사용하기 위한 파이썬 버전을 설정하는 영역이며,
local은 제한된 경로 (또는 프로젝트) 내에서만 사용하기 위한 파이썬 버전,
shell은 임시로 특정 cmd 세션 안에서만 사용하기 위한 파이썬 버전을 뜻한다.

global, local은 어렵지 않게 이해가 가능할 거라 생각되는데, shell에 대해 부연설명을 하자면,
Python 3.11.4 위에서 개발을 하다가 "어? 이거 Python 3.12.3 위에서도 잘 돌아가나?" 싶을 때, 쉘을 하나 열고 pyenv shell 3.12.3를 입력하면 그 쉘에서만 Python 버전이 3.12.3이 된다.

단 3.12.3 버전으로 테스트를 하고 싶을 때는 당연하지만 pnenv install 3.12.3을 통해 해당 버전이 PC에 설치된 상태여야 한다.

4-3-1. pyenv global

전역에서 쓰기 위한 파이썬 버전을 설정해보자.

먼저 필자는 이해를 돕기 위해 아래와 같이 PC에 Python 버전을 3개 설치한 상태이다.

  • Python 3.10.11
  • Python 3.11.9
  • Python 3.12.3

전역으로 3.10.11 을 사용하도록 하려면 아래와 같이 pyenv global 3.10.11을 입력하면 된다.

pyenv global 3.10.11

그러면 pyenv global version 입력 시 방금 입력한 3.10.11 버전으로 설정된 것을 볼 수 있다.

pyenv version

4-3-2. pyenv local

특정 경로 (또는 프로젝트)에서 쓰기 위한 파이썬 버전을 설정해보자.

먼저 필자는 바탕 화면에서 test-pyenv 라는 이름으로 폴더를 하나 만들었다.

mkdir test-pyenv
cd test-pyenv

해당 폴더 안에서 pyenv version을 입력하면 global로 설정된 3.10.11이 출력되는데,

여기서 pyenv local 3.11.9를 입력하여 버전을 변경해보자.

pyenv local 3.11.9

그리고 pyenv version을 입력하면 아래와 같이 3.11.9 버전이 출력된다.

신기해서 디렉토리 밖으로 나간 후 버전을 조회해보면 global에서 설정한 3.10.11 버전이 출력되는 것을 볼 수 있다.

왜 그런가 보면, pyenv local을 실행한 폴더 안에서 dir 입력 시 .python-version 파일이 생성되는 것을 볼 수 있다.

해당 파일을 열어보면 local로 설정한 버전명이 기입되어있다. 이를 통해 pyenv가 해당 파일을 보고 버전을 적용하는 것이라 유추할 수 있다.

혹시 그러면 global로 설정한 버전도 어딘가에 .python-version 파일이 생기는 것일까? 싶었지만 찾아보진 않았다.

4-3-3. pyenv shell

현재 열린 쉘에서만 파이썬 버전을 바꿔보자.

위에서 생성한 폴더 내에서 쉘을 두 개 연 후, 하나의 쉘에서 아래 명령어를 입력한다.

pyenv shell 3.12.3

그리고 버전을 확인하면 3.12.3 으로 설정된 것을 볼 수 있으며, 반대편 쉘에서 버전 확인 시에는 기존의 local 버전을 유지하는 것을 볼 수 있다.

이를 통해 특정 쉘 세션에서만 임시 버전을 이용하여 파이썬 코드를 테스트해볼 수 있는 것이다

 

 

https://shawn-dev.oopy.io/fe911cba-0b25-474c-9c3c-d18fd945c8b0

 

[python] pyenv 로 python 버전 관리하기

python 버전관리의 필요성

shawn-dev.oopy.io

 

 

https://aiandgamedev.com/ai/pyenv-requirements-txt-python/

 

Pyenv와 Requirements.txt를 활용하여 파이썬 가상 환경 복제하기 | AI&GameDev

파이썬 개발을 하다 보면 다양한 프로젝트에서 동일한 환경을 재현해야 할 때가 있습니다. 이럴 때 pyenv와 requirements.txt 파일을 활용하면 효과적으로 환경을 복제할 수 있습니다. 이 글에서는

aiandgamedev.com

 

 

https://www.jumptovb.net/entry/Python-Python-Virtual-Environment-Setting-with-pyenv-win-on-Window

 

[Python] Python Virtual Environment Setting with pyenv-win on Window

Windows 환경에서 pyenv-win 을 사용한 파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.Windows 환경에서 pyenv-win을 사용하여 Python 가상환경을 관리하는 방법에 대한 블로그를 작성하기 위해

www.jumptovb.net

 

 

Windows 환경에서 pyenv-win 을 사용한 파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.

Windows 환경에서 pyenv-win을 사용하여 Python 가상환경을 관리하는 방법에 대한 블로그를 작성하기 위해, 다음 단계를 따라 진행할 수 있습니다. 이 블로그는 설치부터 가상환경 관리까지 모든 과정을 포함합니다.


Windows 환경에서 pyenv-win 을 사용하여 Python 가상환경 관리하기

Python은 다양한 프로젝트에서 사용되며, 각 프로젝트마다 다른 버전의 Python을 요구할 수 있습니다. 이를 효과적으로 관리하기 위해 pyenv-win을 사용하면 여러 버전의 Python을 설치하고 간편하게 전환할 수 있습니다. 이 블로그에서는 Windows 환경에서 pyenv-win을 설치하고 사용하는 방법을 단계별로 안내하겠습니다.

1. pyenv-win 설치

1.1. pyenv-win 다운로드

먼저, pyenv-win을 GitHub에서 다운로드합니다. Git을 설치한 상태여야 합니다.

 

 

git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git %USERPROFILE%\.pyenv\plugins\pyenv-virtualenv

특정위치에 가상환경을 몰아 놓으려면 %USERPROFILE%.pyenv 를 수정하면 되겠죠?

실행시키면 아래와 같은 폴더가 생성됩니다. (저의 Profile 은 JH.Woo 입니다.)

 

 

1.2. 환경 변수 설정

pyenv-win의 실행 파일이 시스템의 경로에 포함되도록 환경 변수를 설정합니다.

 

 

setx PATH "%USERPROFILE%\.pyenv\pyenv-win\bin;%USERPROFILE%\.pyenv\pyenv-win\shims;%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv\bin;%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv\shims;%PATH%"

## setx PATH "%USERPROFILE%\.pyenv\pyenv-win\bin;%USERPROFILE%\.pyenv\pyenv-win\shims;%PATH%"
## setx PATH "%USERPROFILE%\.pyenv\plugins\pyenv-virtualenv;%PATH%"

위 명령어를 실행하면 시스템>고급시스템 설정> 환경변수> 사용자변수 에 다음과 같이 등록됩니다.

 

 

환경 변수가 적용되도록 Command Prompt를 다시 시작합니다.

2. pyenv-win 기본 사용법

2.1. Python 버전 설치

pyenv-win을 사용하여 원하는 버전의 Python을 설치합니다. 예를 들어, Python 3.8.10 을 설치합니다.

 

 

pyenv install 3.8.10

설치된 폴더는 아래 그림과 같네요.

 

 

2.2. 설치된 Python 버전 확인

설치된 Python 버전 목록을 확인합니다.

 

 

pyenv versions

pyenv versions 를 통해서 pyenv 로 설치해서 등록된 python version 들을 확인할 수 있습니다.
다른 where python 이나 py -0 명령어로 조회해 보면 pyenv 를 사용해서 등록한 python 의 모습은 볼 수가 없습니다.

 

 

Get-Command python* | Select-Object Name, Version, Source

powershell 의 명령어로도 찾을 수가 없군요.

2.3. 글로벌 Python 버전 설정

시스템 전체에서 사용할 기본 Python 버전을 설정합니다.

 

 

pyenv global 3.8.10

궁금해서 pyenv 로 설치하지 않은 기존의 python 과의 설정을 보려고 py -0 을 실행해 봤습니다.
골때리는 상황이 전개될 듯하군요.. ㅎㅎ

3. 프로젝트별 로컬 Python 버전 설정

3.1. 프로젝트별 로컬 Python 버전설치

 

 

일단 설치가능한 버전을 확인해 봅니다. MAC OS 와 동일한 명령어라서 마음에 듭니다.

pyenv install --list

 

 

그리고 3.10.11 version 을 설치합니다.

pyenv install 3.10.11

3.2. 프로젝트 디렉토리로 이동

프로젝트가 있는 디렉토리로 이동합니다.

cd d:\Python_Labs\Projects\Prj_31011

3.3. 로컬 Python 버전 설정

해당 프로젝트에서 사용할 Python 버전을 설정합니다.

pyenv local 3.10.11

3.4. 설정 확인

pyenv local 3.10.11 명령어를 실행시키고 pyenv version 을 실행시켜서 현재 Prj_31011 폴더에서 사용중인 python 버전이 아래와 같이 3.10.11 이 설정된 모습을 볼 수 있습니다.

 

 

다른 폴더로 이동했을 때 pyenv version 을 실행시키면 Global version 이 표시되는 걸 볼 수 있죠.

pyenv version

3.5. 설정 해결

 

 

하지만 python --version 을 확인해보면 아직도 3.12 버전이 표시되는 걸 볼 수 있습니다.
느낌적인 느낌적으루다가.. 환경변수를 수정해 주면 될 듯합니다.


이 곳에 등록되어 있는 환경변수를 삭제해 줍니다.
그리고 열려있는 command 창을 닫아주고 다시 열어줍니다.

 

이제야 해결됐네요..


3.12.0 이 설치되어 있는 상황인데도요..

 

속이 시원합니다. ^^

4. 가상환경 생성 및 관리

4.1. 가상환경 생성

pyenv-win과 virtualenv를 함께 사용하여 가상환경을 생성할 수 있습니다. virtualenv가 설치되어 있는지 확인합니다.
하지만 MAC OS 에 비해 좀 귀찮네요.

pip install virtualenv

특정 Python 버전을 사용하여 가상환경을 생성합니다.

 

pyenv shell 3.10.11
virtualenv virtualEnv_31011
## pyenv virtualenv 3.10.11 virtualEnv_31011 # MAC OS 와 다른점이에요.

windows 에서는 Pyenv-Virtualenv plugin 을 사용할 수 없습니다.
그래서 위와 같은 방법을 사용할 수 밖에 없어요.

4.2. 가상환경 목록 확인

생성된 가상환경 목록을 확인합니다.

## pyenv virtualenvs #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.

4.3. 가상환경 활성화

생성한 가상환경을 활성화합니다.

 

virtualEnv_31011\Scripts\activate # 폴더위치 확인하세요... ^^
## pyenv activate myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.

4.4. Package 설치

가상환경이 활성화된 상태에서 pip 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다. 예를 들어, requests 패키지를 설치하려면 다음과 같이 입력합니다.

 

pip install requests  

설치하고 나면 \virtualEnv_31011\Lib\site-packages 폴더내에 request 관련 libray 들이 설치되어 있는 것을 확인할 수 있습니다.

 

4.5. 가상환경 비활성화

작업이 끝난 후 가상환경을 비활성화합니다.

deactivate

4.6. 가상환경 삭제

필요 없는 가상환경을 삭제합니다.

rmdir /s /q virtualEnv_31011
## pyenv uninstall myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.

 

> .\username\Scripts\activate
> python --version
> pyenv version
> pyenv versions
> python -m venv 3.13.1 username-venv

 

 

반응형

댓글