본문 바로가기

Python/pyenv

pyenv with Windows

728x90
반응형

python은 특정 프로그램에서만 쓰일 library 등을 위해서 보통 가상환경을 구축해서 사용합니다.

그 중 python3 에서 기본적으로 제공되는 venv가 많이 쓰입니다.

 

python을 처음 접하는 상황에서는 가상환경이라는 말도 이해가 안되는데 env가 붙으면 다 비슷해보이는데

venv가 있고 pyenv가 있고, pipenv 등도 있고  env 환장파티가 python 초심자들을 심란하게 만듭니다.

 

venv와 pyenv등에 대해서 자세한 설명은 생략하도록 하고 간단하게만 설명을 해보면

 

venv는 가상환경을 만들어주고

pyenv는 다양한 python version들을 왔다 갔다 할 수 있게 해줍니다.

 

최근에는 python 3.11.0 버전이 새로 나왔고, 그 성능이 아주 많이 개선되었다고 해서 pyenv를 통해서

평소에 쓰던 버전 외에 3.11.0 버전으로 써보기로 했습니다.

 

이번 포스팅은 Windows 환경에서 pyenv 를 설치하고 venv 가상환경을 만들어보겠습니다.

 

 시작하기전에 !

 Windows에서 설치하는 것은 chocolatey 라는 패키지 매니저를 통해서 아주 쉽게 설치할 수 있(다고하)는데요, 

 쉬운 방법으로 하시고 싶으신 분들은 그냥 chocolatey로 pyenv 설치하는 방법을 찾아서 하시면 됩니다.

 

제가 이용한 방법은 외국유튜버의 설치 영상을 참고했습니다.

출처: https://www.youtube.com/watch?v=HTx18uyyHw8

 

 

아래부터는 간단하게 요점만 기록합니다.

 

설치 및 실행 - 가상환경 구축까지

https://github.com/pyenv-win/pyenv-win
Download ZIP > 압축 해제

Power Shell > 

$ mkdir $HOME/.pyenv


C:\Users\taltal\.pyenv  에다가 압축을 푼 폴더에서 pyenv-win 폴더와 .version 파일 복사 붙이기

 


Power Shell >

[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")


복붙 해주고, 엔터까지 해주기

 


Power Shell >

[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")



Power Shell 껐다가 관리자 권한으로 재실행

$ Set-ExecutionPolicy unrestricted

     A 입력(모두 예)

 

 

$ pyenv

     R 입력(한 번 실행)

 

 

$ Unblock-File $HOME/.pyenv/pyenv-win/bin/pyenv.ps1

    여기까지 해주고 다시 $ pyenv 입력하면 warning 안 뜨고 바로 실행된다.

 

 

$ pyenv install -l

    설치 가능한 python version들 확인 가능

 

 

$ pyenv install 3.11.0

    설치 다 되면...

 

 

$ pyenv versions

    pyenv를 통해 설치된 python version들 확인

 

 

$ pyenv shell 3.11.0

    $ pyenv versions 를 통해 설치된 version 중에서 선택해서 pyenv shell을 실행

 

 

$ python -V

 

    Python 3.11.0 설치 된 것 확인 가능

 

 

$ python global 3.11.0

    global로 쓸 python version 정해줌

 


이제 원하는 경로로 가서 원하는 python version을 설치하고, 아래 명령어를 통해서 version을 내 집 안방 드나들듯 드나들 수 있다.

$ pyenv shell VERSION

 

 

원하는 버전으로 가상환경 venv 맘껏 만들어서 개발합시다.

$ python -m venv FOLDER_NAME

 

##### pyenv shell 명령어로 이동을 하고 python -V 를 했을 때, version이 안바뀌는 경우 #####

해당 version의 python이 모든 전역에서 사용되도록 설치를 해서 그런 듯 싶습니다.

우선은 간편하게 그 version을 지워버리고 하면 pyenv shell  명령어를 통해 version 이동이 잘됩니다^^;;

안지우고 이동하는 것은 추후에 알아보도록 하겠습니다.

728x90
반응형

'Python > pyenv' 카테고리의 다른 글

pyenv with Ubuntu(Linux/WSL2)  (2) 2022.12.22