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 에서 사용가능합니다.
결론
이제 pyenv-win을 사용하여 Windows 환경에서 Python 버전과 가상환경을 쉽게 관리할 수 있게 되었습니다.
다양한 프로젝트마다 필요한 Python 버전을 독립적으로 설정하고, 가상환경을 활용하여 패키지 충돌 없이 개발을 진행할 수 있습니다. pyenv-win은 Python 개발자의 생산성을 높이는 데 큰 도움이 됩니다.
하지만 Windows 에서는 pyenv 의 기능이 조금은 복잡하고 귀찮은 과정이 있네요..
여튼 재미나게 python 을 사용할 수 있게 되었습니다.
다음번에는 anaconda 의 환경 설정을 살펴보겠습니다.
행복한 고수되십시오.
WooGong ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'ETC > Python' 카테고리의 다른 글
[Python] Python Virtual Environment Setting of Anaconda (1) | 2024.07.30 |
---|---|
[Python] Python Virtual Environment Setting on Window (0) | 2024.07.27 |
[Python] Python Virtual Environment Setting on Mac (0) | 2024.06.20 |
[Python] Python 의 version 관리 - pyenv (0) | 2023.12.13 |
[Python] install tensorflow error on VS Code (0) | 2023.12.12 |